开发者社区 问答 正文

如何在PHP中将数组转换为对象?

我如何将这样的数组转换为对象?

[128] =>数组
    (
        [状态] =>图A。

Facebook的水平滚动条以1024x768的屏幕分辨率显示。 )

[129] =>数组
    (
        [状态] =>前几天,我有一些业余时间
    )

)

展开
收起
保持可爱mmm 2020-01-15 16:33:37 434 分享 版权
1 条回答
写回答
取消 提交回答
  • 在最简单的情况下,将数组“投射”为对象可能就足够了:

    $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

    2020-01-15 16:33:51
    赞同 展开评论