Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie eine PHP-Standardklasse in ein Array

So konvertieren Sie eine PHP-Standardklasse in ein Array

藏色散人
藏色散人Original
2020-09-12 09:49:204259Durchsuche

php stdclass-zu-Array-Methode: 1. Verwenden Sie die Methode „object_array“, um das stdClass-Objekt in ein Array zu konvertieren. 2. Verwenden Sie die Funktion „json_decode“ zum Konvertieren. 3. Verwenden Sie die Methode „object2array_pre“ zum Konvertieren.

So konvertieren Sie eine PHP-Standardklasse in ein Array

Empfohlen: „PHP-Video-Tutorial

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

PHP- und JS-Kommunikation verwenden normalerweise JSON, aber das von JSON übergebene Array ist kein Standard-Array. aber stdClass-Typ. Dann können wir zur Konvertierung auf die folgenden Methoden zurückgreifen.

Methode 1:

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

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

Wenn das Datenvolumen 10 W beträgt, dauert die Ausführung 1 s. Wenn die Struktur komplexer ist, kann sie 3 s erreichen. Die Leistung ist zu schlecht

Kann verwendet werden Ersetzen Sie Folgendes:

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

Aber für die Eigenschaften von JSON kann es nur für UTF8 sein, andernfalls muss es zuerst transkodiert werden.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie eine PHP-Standardklasse in ein 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