最新消息:博客断断续续关停过,感谢保留友链的友们,以后本博客可能会比较少更新,但是会一直开下去,并保持稳定性。

PHP 把对象Object转换成数组array

技术交流 东子 1995次浏览 2 条评论 无图浏览

在PHP中有时候处理json数据,用了 json_decode 之后得到的是 object对象,一般情况使用 数组array 来取下标的,这个时候可以这样来转换下:

$array = (array)$object;

但是,如果对象的属性也是个对象的话,就转换不了了,就是说PHP的强制类型转换不能把对象属性中的对象转换成数组的下一个维度的数组,刚刚找了手册说hw_objrec2array这个函数可以,但是我用了提示 undefined,然后就自己写了个如下:

function ob2ar($obj) {
    if(is_object($obj)) {
        $obj = (array)$obj;
        $obj = ob2ar($obj);
    } elseif(is_array($obj)) {
        foreach($obj as $key => $value) {
            $obj[$key] = ob2ar($value);
        }
    }
    return $obj;
}

后记:丢人了,原来 json_decode 的第二个参数可以控制转换成数组还是对象的,手册还是看少了啊。

原文来自:http://ianz.sinaapp.com/?p=40

声明:欢迎转载,转载请注明来源:东子博客。  本文地址链接:http://blog.kilvn.com/php-object-convert-to-array/

发表我的评论
取消评论
表情 每日打卡 贴图 链接 私密消息

Hi,您需要填写昵称和邮箱!

  • 昵称
  • 邮箱
  • 网址

网友最新评论 (2)

  1. 玩赚乐2015-02-08 13:09 为何这么吊。回复