作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
$array = (object)array(
'name' => 'David',
'friends' => (object)array(
(object)array('name' => 'Max'),
(object)array('name' => 'Jian')
)
);
var_dump($array);
我想学习如何使用 stdClass 函数来获得相同的结果,不想在每个数组之前使用 (object),转换导致一些资源,我知道 json_encode
和 json_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/
我是一名优秀的程序员,十分优秀!