PHP 把对象 stdClass Object 转数组 array
297 views
0
PHP和JS经常会用到json数据格式,但用 json 传过来的数组并不是标准的array,而是 stdClass 对象类型
方式1
// PHP stdClass Object转array function object_to_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; }
方式2
$array = json_decode(json_encode(simplexml_load_string($xmlString)), TRUE);
方式3
function object2array_pre(&$object) { if (is_object($object)) { $array = (array)($object); } else { $array = &$object; } if (is_array($array)) { foreach($array as $varName => $varValue){ $array[$varName] = $this->object2array($varValue); } } return $array; }
方式4
方式1和方式3,如果是10W的数据量的话,执行要进1s,结构再复杂些的数据转换能花的时间更长甚至可以达到3s, 性能太差了
可以用以下替换,只针对utf8,得先转码下:
function object2array(&$object) { $object = json_decode(json_encode($object), true); return $object; }
参考推荐:
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2018-06-04 05:33:19
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!