在写php代码的时候,发现调用接口返回的结果类型是对象,不是自己想要的数组,于是乎,写了一个将对象转化数组的函数:
/**
* 将对象转化为数组
*/
private function objectToArray($obj)
{
$_arr = is_object($obj) ? get_object_vars($obj) : $obj;
$arr =array();
foreach ($_arr as $key => $val) {
$val = (is_array($val) || is_object($val)) ? $this->objectToArray($val) : $val;
$arr[$key] = $val;
} return $arr;
}
后来发现,接口返回的结果类型并不是对象,而是自己经过json编码,解码后,将数组转化为了对象。真是天坑啊~
一般情况下,json_decode返回对象,但是这里可以把它强制转化为数组。
json_decode($var,true).就是这样了
这篇文章不错,介绍了一些细节:
http://www.jb51.net/article/30489.htm php中json_decode()和json_encode()的使用方法