Heim > Backend-Entwicklung > PHP-Tutorial > Wie konvertiert man ein PHP-stdClass-Objekt effizient in ein Array?

Wie konvertiert man ein PHP-stdClass-Objekt effizient in ein Array?

DDD
Freigeben: 2024-11-20 12:10:10
Original
297 Leute haben es durchsucht

How to Efficiently Convert a PHP stdClass Object to an Array?

Konvertieren einer stdClass in ein Array in PHP

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:

Lazy One-Liner-Methode

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);
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode codiert das Objekt zunächst in einen JSON-String und Dekodiert es dann zurück in ein Array.

Konvertieren von stdClass in ein Array

$array = (array) json_decode(json_encode($booking));
Nach dem Login kopieren

Dieser Ansatz gibt ein indiziertes Array zurück, ohne Eigenschaftsnamen beizubehalten.

Konvertieren von stdClass in ein assoziatives Array

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

Indem Sie true als zweites Argument an json_decode übergeben, können Sie das Objekt in ein konvertieren Assoziatives Array, wobei Eigenschaftsnamen erhalten bleiben.

Benutzerdefinierte Funktion (rekursiv)

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);
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage