Heim > Artikel > Backend-Entwicklung > So konvertieren Sie ein Objekt in ein Array in PHP
So konvertieren Sie ein Objekt in ein Array in PHP: So konvertieren Sie ein Objekt in ein Array in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei und greifen Sie dann über „get_object_vars (object $obj)“ auf das Objekt in Form eines Arrays zu. " Funktion.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 5.6. Diese Methode ist für alle Computermarken geeignet.
Empfohlen: „PHP-Video-Tutorial“
PHP-Objekt-zu-Array-Funktion
Wenn Sie möchten, dass in PHP auf das Objekt in Form eines Arrays zugegriffen werden soll, müssen Sie get_object_vars( ) Funktion. Lassen Sie uns zunächst diese Funktion vorstellen.
Die offizielle Dokumentation erklärt es so:
array get_object_vars ( object $obj )
Gibt ein assoziatives Array zurück, das aus Eigenschaften besteht, die in dem durch obj angegebenen Objekt definiert sind.
Beispiel:
<?php class Point2D { var $x, $y; var $label; function Point2D($x, $y) // Point2D换成__construct { $this->x = $x; $this->y = $y; } function setLabel($label) { $this->label = $label; } function getPoint() { return array("x" => $this->x, "y" => $this->y, "label" => $this->label); } } // "$label" is declared but not defined $p1 = new Point2D(1.233, 3.445); print_r(get_object_vars($p1)); $p1->setLabel("point #1"); print_r(get_object_vars($p1)); ?>
Ausgabe:
Array ( [x] => 1.233 [y] => 3.445 [label] => ) Array ( [x] => 1.233 [y] => 3.445 [label] => point #1 )
Objekt-zu-Array-spezifische Implementierung:
function objectToArray($obj) { //首先判断是否是对象 $arr = is_object($obj) ? get_object_vars($obj) : $obj; if(is_array($arr)) { //这里相当于递归了一下,如果子元素还是对象的话继续向下转换 return array_map(__FUNCTION__, $arr); }else { return $arr; } }
array_map()Die Funktion wendet die benutzerdefinierte Funktion auf jeden Wert im Array an und gibt der benutzerdefinierten Funktion ein Array mit zurück neue Werte.
Konkrete Implementierung der Konvertierung eines Arrays in ein Objekt:
function arrayToObject($arr) { if(is_array($arr)) { return (object)array_map(__FUNCTION__, $arr); }else { return $arr; } }
Diese Methode ist für alle Computermarken geeignet.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objekt in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!