转换此数组:
Array
(
[0] => Array
(
[TEST] => Array
(
[name] => John Snow
[id] => 2
)
[HELLO] => Array
(
[stuff] => what
[more] => 0
)
)
[1] => Array
(
[TEST] => Array
(
[name] => Arya Stark
[id] => 3
)
[HELLO] => Array
(
[stuff] => dsfsdf dfsd
[more] => 3
)
)
[2] => Array
(
[TEST] => Array
(
[name] => Tyrion Lannister
[id] => 7
)
[HELLO] => Array
(
[stuff] => test
[more] => 2
)
)
)
收件人:
stdClass Object
(
[1] => stdClass Object
(
[TEST] => stdClass Object
(
[name] => John Snow
[id] => 2
)
[HELLO] => stdClass Object
(
[stuff] => what
[more] => 0
)
)
[2] => stdClass Object
(
[TEST] => stdClass Object
(
[name] => Arya Stark
[id] => 3
)
[HELLO] => stdClass Object
(
[stuff] => dsfsdf dfsd
[more] => 3
)
)
[3] => stdClass Object
(
[TEST] => stdClass Object
(
[name] => Tyrion Lannister
[id] => 7
)
[HELLO] => stdClass Object
(
[stuff] => test
[more] => 2
)
)
)
每个级别中可以有多个数组。这只是一个伪数据,名称从来都不是TEST或HELLO,可以是任何东西。如果你们需要更多信息,请告诉我!
到目前为止,我拥有的是:
function (&$data, $index) {
$object = new stdClass();
$output = array();
foreach ($data as $key => $value) {
$object->$key->$index = $value[$index];
}
return $object;
};
<?php
function convert($data)
{
if (is_array($data))
{
$obj = new stdClass();
foreach ($data as $k => $v)
{
if (is_array($v))
{
$obj->$k = convert($v);
}
else
{
$obj->$k = $v;
}
}
return $obj;
}
}
$data = array(
array(
'Test' => array(
'Name' => 'John Snow',
'id' => 2,
),
'Hello' => array(
'Name' => 'what',
'id' => 3,
),
),
);
$a = convert($data);
print_r($a);
您应该可以这样做:
$objects = (object)json_decode(json_encode($array));