Heim > Artikel > Backend-Entwicklung > Wie konvertiert man ein PHP-stdClass-Objekt effizient in ein Array?
Frage:
Ich muss ein PHP-stdClass-Objekt in ein Array konvertieren . Versuche mit (Array-)Casting, json_decode(true) und json_decode() haben jedoch zu einem leeren Array geführt. Wie kann ich diese Konvertierung effektiv durchführen?
Antwort:
Für eine leicht beeinträchtigte Leistung können Sie JSON nutzen Methoden, um diese Konvertierung auf prägnante Weise zu erreichen:
$array = json_decode(json_encode($booking), true);
Diese Methode codiert das Objekt zunächst in einen JSON-String und Dekodiert es dann zurück in ein Array.
$array = (array) json_decode(json_encode($booking));
Dieser Ansatz gibt ein indiziertes Array zurück, ohne Eigenschaftsnamen beizubehalten.
$array = json_decode(json_encode($booking), true);
Indem Sie true als zweites Argument an json_decode übergeben, können Sie das Objekt in ein konvertieren Assoziatives Array, wobei Eigenschaftsnamen erhalten bleiben.
Wenn die Leistung entscheidend ist, können Sie eine benutzerdefinierte rekursive Funktion implementieren, um das Objekt in ein Array zu konvertieren:
function object_to_array($object) { if (is_object($object)) { $object = get_object_vars($object); } if (is_array($object)) { return array_map(__FUNCTION__, $object); } else { return $object; } } $array = object_to_array($booking);
Das obige ist der detaillierte Inhalt vonWie konvertiert man ein PHP-stdClass-Objekt effizient in ein Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!