In der PHP-Entwicklung müssen wir häufig String-Arrays in JSON-Objekte konvertieren, insbesondere bei der Interaktion mit dem Frontend. Aber manchmal stoßen wir auf Situationen, in denen wir mehrere Objektarrays in JSON-Objektarrays konvertieren müssen. In diesem Artikel wird detailliert beschrieben, wie Sie mehrere Objektarrays in JSON-Objektarrays konvertieren.
1. Konvertieren Sie einen String in ein Array von Objekten.
In PHP können wir die Funktion json_decode() verwenden, um einen String im JSON-Format in ein Array von Objekten zu konvertieren. Der Beispielcode lautet wie folgt:
$jsonStr = '{"name": "Tom", "age": 20}'; $jsonArr = json_decode($jsonStr, true); var_dump($jsonArr);
Die Ausgabe lautet wie folgt:
array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) }
Wenn Sie die Funktion json_decode() verwenden und der zweite Parameter wahr ist, bedeutet dies, dass die JSON-Formatzeichenfolge in ein assoziatives Array konvertiert wird, andernfalls ist dies der Fall in ein Objekt umgewandelt.
2. Konvertieren Sie das Objektarray in ein JSON-Objektarray.
Zuerst müssen wir das Format des JSON-Objektarrays klären. Es handelt sich normalerweise um ein Array, das aus mehreren JSON-Objekten besteht. Ein Beispiel ist wie folgt:
[ {"name": "Tom", "age": 20}, {"name": "Jerry", "age": 18}, {"name": "Emma", "age": 25} ]
Also, wie konvertiert man mehrere Objektarrays in PHP in das obige JSON-Objektarray? Wir können dies mithilfe einer Schleife tun.
Der Beispielcode lautet wie folgt:
//对象数组1 $objArr1 = [ ["name" => "Tom", "age" => 20], ["name" => "Jerry", "age" => 18] ]; //对象数组2 $objArr2 = [ ["name" => "Emma", "age" => 25], ["name" => "Lily", "age" => 22] ]; //JSON对象数组 $jsonArr = []; foreach ($objArr1 as $item) { $jsonArr[] = json_decode(json_encode($item)); } foreach ($objArr2 as $item) { $jsonArr[] = json_decode(json_encode($item)); } //输出JSON对象数组 echo json_encode($jsonArr);
Erklären Sie den obigen Code. Zunächst werden zwei PHP-Objektarrays $objArr1 und $objArr2 definiert. Definieren Sie dann ein leeres JSON-Objektarray $jsonArr und konvertieren Sie jedes Objekt in $objArr1 und $objArr2 mithilfe einer Schleife in ein JSON-Objekt und fügen Sie es zu $jsonArr hinzu. Verwenden Sie abschließend die Funktion json_encode(), um $jsonArr in eine Zeichenfolgenausgabe im JSON-Format zu konvertieren und so das erforderliche JSON-Objektarray zu erhalten.
3. Konvertieren Sie mehrere Objektarrays in Objektarray-Arrays.
In einigen Fällen müssen wir mehrere Objektarrays in ein Objektarray-Array anstelle eines zusammengeführten JSON-Objektarrays konvertieren. An diesem Punkt müssen wir nur noch jedes Objektarray in der Schleife in ein Objektarray konvertieren und sie einem Array hinzufügen.
Der Beispielcode lautet wie folgt:
//对象数组1 $objArr1 = [ ["name" => "Tom", "age" => 20], ["name" => "Jerry", "age" => 18] ]; //对象数组2 $objArr2 = [ ["name" => "Emma", "age" => 25], ["name" => "Lily", "age" => 22] ]; //对象数组数组 $objArrArr = []; foreach ($objArr1 as $item) { $objArrArr[] = json_decode(json_encode($item)); } foreach ($objArr2 as $item) { $objArrArr[] = json_decode(json_encode($item)); } //输出对象数组数组 var_dump($objArrArr);
Die Ausgabe lautet wie folgt:
array(4) { [0]=> object(stdClass)#1 (2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) } [1]=> object(stdClass)#2 (2) { ["name"]=> string(5) "Jerry" ["age"]=> int(18) } [2]=> object(stdClass)#3 (2) { ["name"]=> string(4) "Emma" ["age"]=> int(25) } [3]=> object(stdClass)#4 (2) { ["name"]=> string(4) "Lily" ["age"]=> int(22) } }
Im obigen Code definieren wir zwei Objektarrays $objArr1 und $objArr2 und definieren ein leeres Objektarray-Array $objArrArr. Führen Sie dann eine Schleife durch, konvertieren Sie jedes Objekt in $objArr1 und $objArr2 in ein Objektarray und fügen Sie sie zu $objArrArr hinzu. Geben Sie abschließend $objArrArr aus, um das erforderliche Objektarray-Array zu erhalten.
Zusammenfassung
In diesem Artikel wird hauptsächlich die Konvertierung mehrerer Objektarrays in JSON-Objektarrays und Objektarray-Arrays vorgestellt. Bei der JSON-Konvertierung müssen Sie auf den zweiten Parameter in der Funktion json_decode() achten. Normalerweise empfehlen wir die Verwendung von true, um die JSON-Formatzeichenfolge in ein assoziatives Array zu konvertieren. Wenn Sie eine Schleifenkonvertierung verwenden, müssen Sie darauf achten, jedes Objekt in ein JSON-Objekt oder ein Array von Objekten zu konvertieren und sie einem Array hinzuzufügen.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie mehrere Objektarrays in ein JSON-Objektarray in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!