So konvertieren Sie ein Objekt effektiv in ein Array-Format
In PHP kann es vorkommen, dass ein Objekt in ein Array-Format konvertiert werden muss. In diesem Artikel werden verschiedene Techniken zum Erreichen dieser Konvertierung erläutert.
Eindimensionale Arrays
Zwei Methoden werden häufig zum Konvertieren eindimensionaler Arrays verwendet:
-
Explizite Typumwandlung: Durch einfaches Umwandeln des Objekts in ein Array mit (array) bleiben alle Objekteigenschaften erhalten, einschließlich privat und geschützt Mitglieder.
$array = (array) $object;
Nach dem Login kopieren
-
get_object_vars(): Diese Funktion ruft ein Array ab, das nur öffentlich zugängliche Eigenschaften enthält. Im Objektbereich umfasst es alle Eigenschaften.
$array = get_object_vars($object);
Nach dem Login kopieren
Mehrdimensionale Arrays
Die Konvertierung mehrdimensionaler Arrays erfordert einen etwas anderen Ansatz.
-
JSON-Kodierung und -Dekodierung: Diese Methode ist mit PHP 5.2 oder höher kompatibel. Die JSON-Kodierung wandelt das Objekt in einen JSON-String um, der dann wieder in ein assoziatives Array dekodiert wird. Dieser Ansatz behandelt jedoch keine privaten und geschützten Mitglieder oder Objekte, die nicht JSON-kodierbare Daten enthalten.
$array = json_decode(json_encode($object), true);
Nach dem Login kopieren
-
Benutzerdefinierte Funktion: Die folgende Funktion basiert auf bietet in einer an anderer Stelle gefundenen modifizierten Version eine umfassendere Option:
function objectToArray($object) {
if (is_object($object) || is_array($object)) {
return array_map('objectToArray', (array) $object);
}
return $object;
}
Nach dem Login kopieren
Diese Funktion wandelt alle Objekteigenschaften rekursiv in um ein Array-Format, unabhängig von Zugriffsmodifikatoren.
Das obige ist der detaillierte Inhalt vonWie kann ich ein PHP-Objekt effektiv in ein Array konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!