Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein PHP-Objekt-Array in ein JSON-String-Array

So konvertieren Sie ein PHP-Objekt-Array in ein JSON-String-Array

PHPz
PHPzOriginal
2023-04-19 14:11:06374Durchsuche

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.

  1. Verwenden Sie die Funktion json_encode()

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(&#39;name&#39; => '张三', '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.

  1. JSON-Formatierung des Objektarrays

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:

  1. JSON_PRETTY_PRINT-Option

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(&#39;name&#39; => '张三', '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!

Stellungnahme:
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