PHP编程中,有没有一种办法,将json的stdClass Object对象转成数组array呢?通常,我们都是使用自定义的对象转为数组的Php函数:
function object_array($array){ if(is_object($array)){ $array = (array)$array; } if(is_array($array)){ foreach($array as $key=>$value){ $array[$key] = object_array($value); } } return $array; }
但是用起来太麻烦了,其实用两个json的转换函数就可以解决问题,也就是方法二 因为不需要单独写函数。万维景盛打造的云网站中就使用了这种方法。
[php] view plain copy
//$response是一个stdClass 每次调用都是 $response->code 其实也是挺方便的
//把$response转为array数组
$response=json_encode($response); //把她转换为json字符串
$response= json_decode($response,true); //再把json字符串格式化为数组,必须带参数true才可以,否则又变成对象了。
//或者直接是:
$response= json_decode(json_encode($response),true);