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