Heim >Backend-Entwicklung >PHP-Tutorial >Mehrere Methoden zum Konvertieren von stdClass-Objekten in Arrays in PHP

Mehrere Methoden zum Konvertieren von stdClass-Objekten in Arrays in PHP

高洛峰
高洛峰Original
2016-10-20 14:42:181128Durchsuche

Methode eins:

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


Methode zwei:

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


Methode drei:

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


Wenn das Datenvolumen 10 W beträgt, dauert die Ausführung 1 Sekunde. Wenn die Struktur komplexer ist, kann die Leistung zu schlecht sein 🎜> kann durch Folgendes ersetzt werden:

function object2array(&$object) {
             $object =  json_decode( json_encode( $object),true);
             return  $object;
    }
Die Eigenschaften von json können jedoch nur für utf8 gelten, andernfalls muss es zuerst transkodiert werden.



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