Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie mehrere Objektarrays in ein JSON-Objektarray in PHP

So konvertieren Sie mehrere Objektarrays in ein JSON-Objektarray in PHP

PHPz
PHPzOriginal
2023-04-23 10:19:39487Durchsuche

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!

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