php函数将对象转换为数组以及json_decode的使用技巧

    在写php代码的时候,发现调用接口返回的结果类型是对象,不是自己想要的数组,于是乎,写了一个将对象转化数组的函数:  

 1     /**
 2      * 将对象转化为数组
 3      */
 4     private function objectToArray($obj)
 5     {
 6         $_arr = is_object($obj) ? get_object_vars($obj) : $obj;
 7         $arr =array();
 8         foreach ($_arr as $key => $val) {
 9             $val = (is_array($val) || is_object($val)) ? $this->objectToArray($val) : $val;
10             $arr[$key] = $val;
11         }
12 
13         return   $arr;
14     }
View Code

    后来发现,接口返回的结果类型并不是对象,而是自己经过json编码,解码后,将数组转化为了对象。真是天坑啊~

    一般情况下,json_decode返回对象,但是这里可以把它强制转化为数组。

     json_decode($var,true).就是这样了
    

    这篇文章不错,介绍了一些细节:
    http://www.jb51.net/article/30489.htm  php中json_decode()和json_encode()的使用方法

原文地址:https://www.cnblogs.com/nerrissa/p/4636382.html