好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
如何在PHP中将数组转换为对象? 关闭 返回上一级  

如何在PHP中将数组转换为对象?
+ 查看更多

发布日期:2018-02-24 17:59
分类:PHP
浏览次数:82
[128] => Array
        (
            [status] => Figure A.
 Facebook's horizontal scrollbars showing up on a 1024x768 screen resolution.
        )

[129] => Array
        (
            [status] => The other day at work, I had some spare time
        )

)

回答

在最简单的情况下,用这种方式将数组转换为一个对象可能就足够了:
$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倍。
注意!(感谢Ultra的评论):
不同环境下的json_decode以不同的方式转换UTF-8数据。原本的值为'240.00',我最终得到的转换后的值为'240',这是灾难性的错误。此外,如果转换失败,字符串get的返回值为NULL。
上一篇如何使用PHP删除一个文件夹中的所有文件?
post请求的大小限制是多少?下一篇
下一篇post请求的大小限制是多少?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号