Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie ein PHP-Objekt-Array in ein JSON-String-Array
In der modernen Webentwicklung ist es für JavaScript-basierte Front-End-Programme zur regelmäßigen Wahl geworden, Daten im JSON-Format (JavaScript Object Notation) zu verwenden. PHP ist eine gängige serverseitige Programmiersprache. Oft müssen wir PHP-Objekte oder -Arrays auf der Serverseite in JSON-Formatzeichenfolgen konvertieren, um Front-End-Aufrufe zu erleichtern. In diesem Artikel zeigen wir Ihnen, wie Sie in PHP ein Array von Objekten in ein JSON-String-Array konvertieren.
In PHP gibt es eine integrierte Funktion json_encode(), die PHP-Arrays und -Objekte in Zeichenfolgen im JSON-Format konvertieren kann, wie unten gezeigt:
<?php $array = array('name' => '张三', 'age' => 18, 'gender' => 'male'); echo json_encode($array); ?>
Laufergebnisse:
{"name":"张三","age":18,"gender":"male"}
In diesem Beispiel können wir sehen, dass bei der Übergabe eines PHP-Arrays an die Funktion json_encode() eine codierte Zeichenfolge im JSON-Format zurückgegeben werden kann. Beachten Sie hier: Die Funktion json_encode() unterstützt nur das UTF-8-Kodierungsformat. Wenn das von Ihrer Zeichenfolge verwendete Kodierungsformat nicht UTF-8 ist, tritt ein Fehler auf. Stellen Sie daher vor der Verwendung der Funktion json_encode() sicher, dass das zu konvertierende Array oder Objekt in das UTF-8-Format konvertiert wurde.
Wenn Sie das Objektarray in ein JSON-String-Array konvertieren müssen, müssen Sie das Objekt in ein Array konvertieren und die Funktion json_encode() zur Verarbeitung verwenden. Beispielsweise müssen wir das Objektarray, das Schülerinformationen darstellt, in ein Zeichenfolgenarray im JSON-Format konvertieren:
<?php class Student{ public $name; public $age; public $gender; } $student1 = new Student(); $student1->name = '张三'; $student1->age = 18; $student1->gender = 'male'; $student2 = new Student(); $student2->name = '李四'; $student2->age = 19; $student2->gender = 'female'; $students = array(); array_push($students,$student1,$student2); $students_arr = array(); foreach($students as $student){ $obj = get_object_vars($student); array_push($students_arr,$obj); } echo json_encode($students_arr); ?>
Laufergebnis:
[{"name":"张三","age":18,"gender":"male"},{"name":"李四","age":19,"gender":"female"}]
Im obigen Beispiel haben wir eine Student-Klasse erstellt, die Schülerinformationen darstellen kann, und ein Array zum Speichern mehrerer verwendet Studentenobjekte. Beim Konvertieren des Student-Objekts in ein Array wird die Funktion get_object_vars() verwendet. Diese Funktion wandelt das Objekt in ein assoziatives Array um, sodass wir das Objekt wie ein Array behandeln können. Übergeben Sie abschließend das Array an die Funktion json_encode() und geben Sie das Ergebnis aus.
Gleichzeitig können wir zum besseren Verständnis die obigen Beispiele auch in eine intuitivere Form umwandeln, wie in der folgenden Abbildung gezeigt:
Durch die beiden oben genannten Beispiele , Sie verstehen bereits, wie Sie ein PHP-Objekt oder -Array in ein String-Array im JSON-Format konvertieren. Allerdings sehen diese JSON-formatierten String-Arrays auf den ersten Blick etwas schwer lesbar aus. Um das JSON-Datenformat zu verschönern, können Sie den zweiten Parameter der Funktion json_encode() verwenden: JSON_PRETTY_PRINT-Auswahl, wie unten gezeigt:
<?php $array = array('name' => '张三', 'age' => 18, 'gender' => 'male'); echo json_encode($array,JSON_PRETTY_PRINT); ?>
Laufergebnisse:
{ "name": "张三", "age": 18, "gender": "male" }
Dies ist das Ausgabeergebnis nach Verwendung der Option JSON_PRETTY_PRINT ist klarer und leichter zu lesen.
In diesem Artikel haben wir vorgestellt, wie man in PHP ein Array von Objekten in ein JSON-String-Array konvertiert. Dies ist ein wichtiger Schritt in unserer Front-End- und Back-End-Interaktion. In Kombination mit dem Front-End-JSON-Parsing-Tool können die Daten problemlos in das für jede Website erforderliche Format konvertiert werden.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein PHP-Objekt-Array in ein JSON-String-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!