Heim  >  Artikel  >  Backend-Entwicklung  >  PHP中把stdClass Object转array的几个方法_PHP教程

PHP中把stdClass Object转array的几个方法_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:30:13817Durchsuche

方法一:

复制代码 代码如下:

//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; 
}

方法二:

复制代码 代码如下:

$array = json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);

方法三:

复制代码 代码如下:

 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;
    }

如果是10W的数据量的话,执行要进1s,结构再复杂些,可以达到3s, 性能太差了
可以用以下替换:
 
复制代码 代码如下:
function object2array(&$object) {
             $object =  json_decode( json_encode( $object),true);
             return  $object;
    }

 但是对json的特性,只能是针对utf8的,否则得先转码下。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/767088.htmlTechArticle方法一: 复制代码 代码如下: //PHP stdClass Object转array function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { forea...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn