Heim > Backend-Entwicklung > PHP-Tutorial > Wie konvertiert man PHP-Objekte effektiv in Arrays?

Wie konvertiert man PHP-Objekte effektiv in Arrays?

Linda Hamilton
Freigeben: 2024-12-07 15:23:12
Original
372 Leute haben es durchsucht

How to Effectively Convert PHP Objects into Arrays?

So konvertieren Sie ein Objekt in ein Array

Eindimensionale Arrays

Für eindimensionale Arrays können Sie entweder Casting oder get_object_vars verwenden Funktion.

Casting:

$array = (array) $object;
Nach dem Login kopieren

get_object_vars:

$array = get_object_vars($object);
Nach dem Login kopieren

Während beide Methoden ein Objekt in ein konvertieren Anordnung weisen sie subtile Unterschiede auf. get_object_vars gibt nur öffentlich zugängliche Eigenschaften zurück, es sei denn, es wird innerhalb des Objektbereichs aufgerufen. Beim Casting bleiben jedoch alle Mitglieder erhalten, einschließlich privater und geschützter.

Mehrdimensionale Arrays

Für mehrdimensionale Arrays können Sie verschiedene Ansätze verwenden.

JSON-Kodierung und -Dekodierung:

Wenn Ihr Objekt als JSON kodiert werden kann, können Sie es verwenden Die nativen JSON-Funktionen von PHP:

$array = json_decode(json_encode($object), true);
Nach dem Login kopieren

Diese Methode enthält keine privaten und geschützten Mitglieder und ist nicht für Objekte geeignet, die nicht JSON-kodierbare Daten enthalten.

Rekursive Funktion:

Die folgende Funktion konvertiert ein Objekt rekursiv in ein Array, einschließlich privat und geschützt Mitglieder:

function objectToArray($object) {
    if(!is_object($object) && !is_array($object))
        return $object;

    return array_map('objectToArray', (array) $object);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konvertiert man PHP-Objekte effektiv in Arrays?. 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