gpt4 book ai didi

php - 如何在 PHP 中创建嵌套对象

转载 作者:行者123 更新时间:2023-12-05 03:15:10 25 4
gpt4 key购买 nike

$array = (object)array(
'name' => 'David',
'friends' => (object)array(
(object)array('name' => 'Max'),
(object)array('name' => 'Jian')
)
);

var_dump($array);

我想学习如何使用 stdClass 函数来获得相同的结果,不想在每个数组之前使用 (object),转换导致一些资源,我知道 json_encodejson_decode 可以搞定,就是想学学stdClass是怎么弄嵌套结构的。

最佳答案

json_encode() 有一个技巧轻松获得:

$array = array(
'foo' => array('bar'=>'a', 'baz'=>'b'),
'feo' => 'bee',
'boo' => array('a'=>array('x', 'y'), 'b'=>array('z'))
);


$object = json_decode(json_encode($array));

更新

如果你不想使用 JSON 函数,你可以递归地处理你的数组,比如:

function getStdObject(array $data)
{
foreach($data as &$item)
{
if(is_array($item))
{
$item = getStdObject($item);
}
}
return (object)$data;
}

$array = array(
'foo' => array('bar'=>'a', 'baz'=>'b'),
'feo' => 'bee',
'boo' => array('a'=>array('x', 'y'), 'b'=>array('z'))
);
$object = getStdObject($array));

关于php - 如何在 PHP 中创建嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com