Wie konvertiert man ein PHP-stdClass-Objekt zuverlässig in ein Array?

Susan Sarandon
Freigeben: 2024-11-16 00:13:02
Original
382 Leute haben es durchsucht

How to Reliably Convert a PHP stdClass Object to an Array?

php stdClass in Array

Bei der Arbeit mit PHP kann es vorkommen, dass Sie ein stdClass-Objekt in ein Array konvertieren müssen. Diese Konvertierung kann schwierig sein und verschiedene Methoden können zu unerwartetem Verhalten führen.

Ein gängiger Ansatz besteht darin, das Objekt mithilfe von (array) $booking in ein Array umzuwandeln. Diese Methode kann jedoch zu einem leeren Array führen, wenn das Objekt verschachtelte Objekte oder Arrays enthält.

Eine andere Option ist die Verwendung von json_decode($booking, true). Diese Methode konvertiert das Objekt in ein Array, kann aber auch zu einem leeren Array führen, wenn das Objekt verschachtelte Objekte oder Arrays enthält.

Eine zuverlässigere Methode zum Konvertieren eines stdClass-Objekts in ein Array ist die Verwendung Eine rekursive Funktion, die das Objekt und seine untergeordneten Elemente durchläuft und jedes Element in die entsprechende Array-Darstellung umwandelt. Hier ist ein Beispiel für eine solche Funktion:

public function objectToArray($d) {
        if (is_object($d)) {
            // Gets the properties of the given object
            // with get_object_vars function
            $d = get_object_vars($d);
        }

        if (is_array($d)) {
            /*
             * Return array converted to object
             * Using __FUNCTION__ (Magic constant)
             * for recursive call
             */
            return array_map(__FUNCTION__, $d);
        }
        else {
            // Return array
            return $d;
        }
    }
Nach dem Login kopieren

Diese Funktion konvertiert ein stdClass-Objekt in ein Array und behält dabei die Struktur und Werte des ursprünglichen Objekts bei. Es kann bei Bedarf auch zum Konvertieren von Arrays in Objekte verwendet werden.

Das obige ist der detaillierte Inhalt vonWie konvertiert man ein PHP-stdClass-Objekt zuverlässig in ein Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage