Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie ein Array in ein Objektarray in PHP
In PHP sind Arrays und Objekte zwei verschiedene Formen, aber wir müssen oft zwischen ihnen konvertieren. In diesem Artikel wird erläutert, wie Sie in PHP ein Array in ein Array von Objekten und ein Array von Objekten wieder in ein normales Array konvertieren.
Sehen wir uns zunächst an, wie man ein normales Array in ein Objektarray umwandelt. In PHP können wir dies durch Casting (Umwandeln eines Arrays in ein Objekt) oder manuelles Erstellen eines Objekts erreichen. Nachfolgend finden Sie eine Demonstration der beiden Methoden:
Methode 1: Umwandlung
$arr = array('id'=>1, 'name'=>'John', 'age'=>25); $obj = (object)$arr; print_r($obj);
Ausgabe:
stdClass Object ( [id] => 1 [name] => John [age] => 25 )
Im obigen Code verwenden wir den Operator (object)
, um das Array in ein Objekt umzuwandeln. Dieser Operator ist eigentlich eine Umwandlung, die einen Skalarwert, ein Array oder eine Ressource in ein Objekt umwandelt. Jetzt ist $obj
ein Objekt und wir können auf seine Eigenschaften wie auf ein normales Objekt zugreifen. (object)
运算符将数组转换为对象。这个运算符实际上是一种强制类型转换,它可以将一个标量值、数组或资源转换为一个对象。现在$obj
是一个对象,我们可以像使用普通对象一样访问它的属性。
方法二:手动创建对象
$arr = array('id'=>1, 'name'=>'John', 'age'=>25); $obj = new stdClass(); foreach ($arr as $key=>$value) { $obj->$key = $value; } print_r($obj);
输出:
stdClass Object ( [id] => 1 [name] => John [age] => 25 )
在上面的代码中,我们手动创建了一个空的对象$obj
,然后使用循环遍历数组,并将数组的每个键值对作为对象的属性赋值。现在$obj
是一个含有三个属性的对象。
接下来,让我们看一下如何将对象数组转换为普通数组。在PHP中,我们可以使用强制类型转换(将对象强制转换为数组)或手动遍历对象数组来实现这一目标。下面是两种方法的演示:
方法一:强制类型转换
$obj1 = new stdClass(); $obj1->id = 1; $obj1->name = 'John'; $obj1->age = 25; $obj2 = new stdClass(); $obj2->id = 2; $obj2->name = 'Jane'; $obj2->age = 30; $arr = array($obj1, $obj2); $arr = (array)$arr; print_r($arr);
输出:
Array ( [0] => stdClass Object ( [id] => 1 [name] => John [age] => 25 ) [1] => stdClass Object ( [id] => 2 [name] => Jane [age] => 30 ) )
在上面的代码中,我们使用了(array)
运算符将对象数组转换为普通数组。这个运算符实际上是一种强制类型转换,它可以将一个对象转换为一个数组。现在$arr
是一个普通数组,我们可以像使用普通数组一样访问它的元素。
方法二:手动遍历对象数组
$obj1 = new stdClass(); $obj1->id = 1; $obj1->name = 'John'; $obj1->age = 25; $obj2 = new stdClass(); $obj2->id = 2; $obj2->name = 'Jane'; $obj2->age = 30; $arr = array($obj1, $obj2); $new_arr = array(); foreach ($arr as $obj) { $new_arr[] = (array)$obj; } print_r($new_arr);
输出:
Array ( [0] => Array ( [id] => 1 [name] => John [age] => 25 ) [1] => Array ( [id] => 2 [name] => Jane [age] => 30 ) )
在上面的代码中,我们遍历对象数组$arr
,并将每个对象强制转换为一个数组,然后将其添加到新数组$new_arr
中。现在$new_arr
rrreee
Ausgabe:rrreee
Im obigen Code haben wir manuell ein leeres Objekt$obj
erstellt und dann eine Schleife verwendet, um das Array zu durchlaufen und zu konvertieren Arrays Jedem Schlüssel-Wert-Paar wird ein Wert als Eigenschaft des Objekts zugewiesen. Jetzt ist $obj
ein Objekt mit drei Eigenschaften. 🎜🎜Als nächstes schauen wir uns an, wie man ein Array von Objekten in ein normales Array umwandelt. In PHP können wir dies durch Casting (Umwandeln eines Objekts in ein Array) oder manuelle Iteration über ein Array von Objekten erreichen. Das Folgende ist eine Demonstration der beiden Methoden: 🎜🎜Methode 1: Umwandlung 🎜rrreee🎜Ausgabe: 🎜rrreee🎜Im obigen Code verwenden wir den Operator (array)
, um das Objektarray in ein gewöhnliches Array umzuwandeln Array. Dieser Operator ist eigentlich eine Umwandlung, die ein Objekt in ein Array umwandelt. Jetzt ist $arr
ein normales Array und wir können wie auf ein normales Array auf seine Elemente zugreifen. 🎜🎜Methode 2: Manuelles Durchlaufen des Objektarrays 🎜rrreee🎜Ausgabe: 🎜rrreee🎜Im obigen Code durchlaufen wir das Objektarray $arr
und wandeln jedes Objekt in ein Array um, und dann wird es hinzugefügt zum neuen Array $new_arr
. Jetzt ist $new_arr
ein normales Array mit zwei Elementen, wobei jedes Element ein assoziatives Array ist, das drei Schlüssel-Wert-Paare enthält. 🎜🎜Zusammenfassung🎜🎜In PHP können wir mithilfe von Umwandlungen oder manueller Traversierung zwischen Arrays und Objekten konvertieren. Unabhängig davon, für welche Methode Sie sich entscheiden, können Sie die Konvertierung problemlos durchführen, solange Sie den Unterschied zwischen Arrays und Objekten verstehen. In der tatsächlichen Entwicklung ist diese Fähigkeit sehr verbreitet, da wir manchmal Arrays in Objekte umwandeln müssen, um sie besser bearbeiten zu können. 🎜Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Array in ein Objektarray in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!