Heim >Backend-Entwicklung >PHP-Problem >So erzwingen Sie ein Objekt in einem Array in PHP

So erzwingen Sie ein Objekt in einem Array in PHP

藏色散人
藏色散人Original
2021-03-15 09:31:531858Durchsuche

So erzwingen Sie ein Objekt in einem Array in PHP: 1. Konvertieren Sie über die definierte Methode „object_array“. 2. Konvertieren Sie über die Methode „json_decode“. 3. Konvertieren Sie über die definierte Methode „object2array_pre“.

So erzwingen Sie ein Objekt in einem Array in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

PHP-Objekt in Array

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

2.

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

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

4 . Wenn das Datenvolumen 10 W beträgt, kann die Ausführung 1 Sekunde dauern. Die Leistung kann durch Folgendes ersetzt werden:

function object2array(&$object) {
    $object =  json_decode( json_encode( $object),true);
    return  $object;
}
Der Zweck der Konvertierung mehrschichtiger Arrays und Objekte ist sehr einfach und bequem. Die Verarbeitung der Konvertierung mehrschichtiger Arrays und Objekte in WebService ist einfach (Array) und (Objekt). Verarbeiten Sie nur einschichtige Daten, für mehrschichtige Array- und Objektkonvertierung können Sie nichts tun.

  Das Objekt kann über json_decode(json_encode($object) gleichzeitig in ein Array konvertiert werden. Es treten jedoch Probleme auf, wenn im Objekt auf nicht UTF-8-codierte Nicht-ASCII-Zeichen gestoßen wird, wie z. B. GBK-Chinesisch, ganz zu schweigen davon Die Leistung von json_encode und decode ist ebenfalls schlecht. Es lohnt sich zu zweifeln

  Code unten:

json_decode(json_encode($array),true)

Das obige ist der detaillierte Inhalt vonSo erzwingen Sie ein Objekt in einem Array in PHP. 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