在写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 }
后来发现,接口返回的结果类型并不是对象,而是自己经过json编码,解码后,将数组转化为了对象。真是天坑啊~
一般情况下,json_decode返回对象,但是这里可以把它强制转化为数组。
json_decode($var,true).就是这样了
这篇文章不错,介绍了一些细节:
http://www.jb51.net/article/30489.htm php中json_decode()和json_encode()的使用方法