Für eindimensionale Arrays können Sie entweder Casting oder get_object_vars verwenden Funktion.
Casting:
$array = (array) $object;
get_object_vars:
$array = get_object_vars($object);
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.
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);
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); }
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!