Ответ 1
$info = yourstuff;
$arrContact = (array) $info->contact;
$arrList = (array) $info->lists[0];
$merged = array_merge($arrContact, $arrList);
var_dump($merged, 'have fun');
Довольно тривиально;)
Я использую API, который возвращает меня на адрес электронной почты, заданный таким массивом:
stdClass Object ( [status] => OK [contact] => stdClass Object ( [id] => 0000000 [email] => [email protected] [last_activity] => 1362131446 [last_update] => 0 [created_at] => 1356617740 [sent] => 5 [open] => 1 [click] => 1 [spam] => 0 [bounce] => 0 [blocked] => 0 [queued] => 0 ) [lists] => Array ( [0] => stdClass Object ( [active] => 1 [unsub] => 1 [unsub_at] => 1363078528 ) ) )
как объединить информацию [контакт] с [списками] [0] в одном объекте?
Спасибо за помощь
$info = yourstuff;
$arrContact = (array) $info->contact;
$arrList = (array) $info->lists[0];
$merged = array_merge($arrContact, $arrList);
var_dump($merged, 'have fun');
Довольно тривиально;)
<?php
$a = new stdClass;
$a->name = 'Anthony';
$b = new stdClass;
$b->location = 'UK';
$c = (object)array_merge((array)$a, (array)$b);
var_dump($c);
/*
object(stdClass)#3 (2) {
["name"]=>
string(7) "Anthony"
["location"]=>
string(2) "UK"
}
*/
Как насчет:
foreach ($info->lists[0] as $key => $value {
$info->contact->$key = $value;
}
Предотвращает отбрасывание между массивами и объектами