我如何将这样的数组转换为对象?
[128] =>数组
(
[状态] =>图A。
Facebook的水平滚动条以1024x768的屏幕分辨率显示。 )
[129] =>数组
(
[状态] =>前几天,我有一些业余时间
)
)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在最简单的情况下,将数组“投射”为对象可能就足够了:
$object = (object) $array;
另一种选择是将标准类实例化为变量,并在重新分配值的同时遍历数组:
$object = new stdClass(); foreach ($array as $key => $value) { $object->$key = $value; }
正如Edson Medina指出的那样,一个真正干净的解决方案是使用内置json_函数:
$object = json_decode(json_encode($array), FALSE);
这也(递归)将您所有的子数组转换为对象,您可能会或可能不想要。不幸的是,与循环方法相比,它的性能下降了2-3倍。
问题来源于stack overflow