Home >Backend Development >PHP Problem >How to convert php stdclass to array
php stdclass to array method: 1. Use the "object_array" method to convert stdClass Object to array; 2. Convert through the "json_decode" function; 3. Use the "object2array_pre" method to convert.
Recommended: "PHP Video Tutorial"
How to convert stdClass Object to array in PHP Method
PHP and JS usually use json to communicate, but the array passed by json is not a standard array, but a stdClass type. Then we can refer to the following methods for conversion.
Method one:
//PHP stdClass Object转array 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; }
Method two:
$array = json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);
Method three:
function object2array_pre(&$object) { if (is_object($object)) { $arr = (array)($object); } else { $arr = &$object; } if (is_array($arr)) { foreach($arr as $varName => $varValue){ $arr[$varName] = $this->object2array($varValue); } } return $arr; }
If the data volume is 10W, the execution will take 1s, structure If it is more complicated, it can reach 3s. The performance is too poor.
can be replaced with the following:
function object2array(&$object) { $object = json_decode( json_encode( $object),true); return $object; }
But for the characteristics of json, it can only be for utf8, otherwise it must be transcoded first.
The above is the detailed content of How to convert php stdclass to array. For more information, please follow other related articles on the PHP Chinese website!