Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie ein PHP-Objektarray in ein normales Array
In PHP verwenden wir normalerweise Objektarrays zum Speichern und Bearbeiten von Daten. In einigen Fällen müssen wir jedoch Objektarrays in gewöhnliche Arrays konvertieren, um Daten bequemer verarbeiten zu können. In diesem Artikel erklären wir, wie man in PHP ein Array von Objekten in ein normales Array umwandelt.
1. Definition von Objektarray und gewöhnlichem Array
In PHP sind Objektarray und gewöhnliches Array wichtige Datenstrukturen, die zum Speichern und Betreiben von Daten verwendet werden.
Objektarray besteht normalerweise aus einer Reihe von Objekten. Jedes Objekt ist eine Instanz einer Klasse, die eine Reihe von Eigenschaften und Methoden definiert. Das Folgende ist beispielsweise ein Beispiel für ein Objektarray:
$user1 = new stdClass(); $user1->id = 1; $user1->name = 'Tom'; $user1->age = 25; $user2 = new stdClass(); $user2->id = 2; $user2->name = 'Jerry'; $user2->age = 30; $users = [$user1, $user2];
Im obigen Beispiel definieren wir ein Objektarray $users, das zwei Benutzerobjekte enthält. Jedes Benutzerobjekt enthält drei Attribute: ID, Name und Alter.
Gewöhnliche Arrays bestehen aus einer Reihe von Skalarwerten. Die Skalarwerte können ganze Zahlen, Zeichenfolgen, Gleitkommazahlen usw. sein. Hier ist zum Beispiel ein Beispiel für ein normales Array:
$numbers = [1, 2, 3, 4, 5];
Im obigen Beispiel haben wir ein normales Array $numbers definiert, das fünf ganzzahlige Werte enthält.
2. Objektarrays in gewöhnliche Arrays konvertieren
Obwohl Objektarrays und gewöhnliche Arrays Daten auf unterschiedliche Weise speichern, müssen wir manchmal Objektarrays in gewöhnliche Arrays konvertieren, um die Datenverarbeitung zu erleichtern.
In PHP gibt es viele Möglichkeiten, ein Objektarray in ein normales Array umzuwandeln, von denen einige im Folgenden vorgestellt werden.
1. Verwenden Sie eine foreach-Schleife, um das Objektarray zu durchlaufen und jedes Objekt in ein Array umzuwandeln
$usersArray = []; foreach ($users as $user) { $usersArray[] = (array) $user; }
Im obigen Beispiel definieren wir zuerst ein neues Array $usersArray und verwenden dann eine foreach-Schleife, um das ursprüngliche Objektarray $ zu durchlaufen Benutzer, Konvertieren jedes Objekt wird in ein Array konvertiert und dem neuen Array $usersArray hinzugefügt.
Beim Konvertieren eines Objekts in ein Array verwenden wir den Cast-Operator (Array), der das Objekt in einen Array-Typ konvertiert und die Attribute des Objekts als Schlüsselwerte des Arrays und die Attributwerte als Werte des Arrays verwendet .
2. Verwenden Sie die Funktion array_map, um jedes Objekt in ein Array umzuwandeln.
$usersArray = array_map('get_object_vars', $users);
Im obigen Beispiel verwenden wir die in PHP integrierte Funktion array_map. Der erste Parameter ist eine Rückruffunktion, die zum Konvertieren des Objekts in ein Array verwendet wird array, der zweite Parameter ist das ursprüngliche Objektarray $users.
In der Rückruffunktion get_object_vars übergeben wir das Objekt als Parameter und verwenden die integrierte Funktion get_object_vars, um das Objekt in ein Array umzuwandeln und das Array-Ergebnis zurückzugeben.
3. Verwenden Sie die Funktionen json_encode und json_decode zur Konvertierung
$usersJson = json_encode($users); $usersArray = json_decode($usersJson, true);
Im obigen Beispiel haben wir die Funktionen json_encode und json_decode verwendet, um das Objektarray in ein normales Array zu konvertieren.
Zuerst verwenden wir die Funktion json_encode, um das ursprüngliche Objektarray $users in einen JSON-String zu konvertieren, verwenden dann die Funktion json_decode, um den JSON-String zurück in den Array-Typ zu konvertieren, und setzen den zweiten Parameter auf true, um die Konvertierung anzuzeigen Ergebnis ist ein assoziatives Array.
Es ist zu beachten, dass bei Verwendung der Funktion json_decode das Konvertierungsergebnis ein Objekt und kein Array ist, wenn der zweite Parameter auf false gesetzt oder nicht gesetzt ist.
3. Zusammenfassung
In diesem Artikel werden drei Methoden zum Konvertieren von Objektarrays in gewöhnliche Arrays in PHP vorgestellt, nämlich die Verwendung der foreach-Schleifenkonvertierung, der Array_map-Funktionskonvertierung und der json_encode/json_decode-Funktionskonvertierung.
Egal für welche Methode Sie sich entscheiden, Sie können das Objektarray problemlos in ein normales Array konvertieren und die Datenverarbeitung erleichtern.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein PHP-Objektarray in ein normales Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!