Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Verwendung von PHP zum Konvertieren eines stdClass-Objekts in ein Array-Array

Zusammenfassung der Verwendung von PHP zum Konvertieren eines stdClass-Objekts in ein Array-Array

伊谢尔伦
伊谢尔伦Original
2017-06-30 10:15:131853Durchsuche

Json wird normalerweise für die Kommunikation zwischen PHP und JS verwendet, aber das über JSON übergebene Array ist kein Standard-Array, sondern ein stdClass-Typ. Dann können wir zur Konvertierung auf die folgenden Methoden zurückgreifen.

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 3:

 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 es 10 W ist In Bezug auf das Datenvolumen dauert die Ausführung 1 Sekunde. Wenn die Struktur komplexer ist, kann die Leistung zu schlecht sein:

function object2array(&$object) {
    $object =  json_decode( json_encode( $object),true);
    return  $object;
}

Aber für die Eigenschaften von json kann es nur für utf8 gelten, andernfalls muss es zuerst transkodiert werden.

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung von PHP zum Konvertieren eines stdClass-Objekts in ein Array-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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