Maison  >  Article  >  développement back-end  >  Comment convertir plusieurs tableaux d'objets en tableau d'objets JSON en php

Comment convertir plusieurs tableaux d'objets en tableau d'objets JSON en php

PHPz
PHPzoriginal
2023-04-23 10:19:39490parcourir

Dans le développement PHP, nous avons souvent besoin de convertir des tableaux de chaînes en objets JSON, notamment lors de l'interaction avec le front-end. Mais parfois, nous rencontrons des situations dans lesquelles nous devons convertir plusieurs tableaux d'objets en tableaux d'objets JSON. Cet article détaille comment convertir plusieurs tableaux d'objets en tableaux d'objets JSON.

1. Convertir une chaîne en un tableau d'objets

En PHP, on peut utiliser la fonction json_decode() pour convertir une chaîne au format JSON en un tableau d'objets. L'exemple de code est le suivant :

$jsonStr = '{"name": "Tom", "age": 20}';
$jsonArr = json_decode($jsonStr, true);
var_dump($jsonArr);

Le résultat est le suivant :

array(2) {
    ["name"]=>
    string(3) "Tom"
    ["age"]=>
    int(20)
}

Lors de l'utilisation de la fonction json_decode(), lorsque le deuxième paramètre est vrai, cela signifie convertir la chaîne au format JSON en un tableau associatif, sinon ce sera transformé en objet.

2. Convertir le tableau d'objets en un tableau d'objets JSON

Tout d'abord, nous devons clarifier le format du tableau d'objets JSON. Il s'agit généralement d'un tableau composé de plusieurs objets JSON comprenant plusieurs paires clé-valeur. Un exemple est le suivant :

[
    {"name": "Tom", "age": 20},
    {"name": "Jerry", "age": 18},
    {"name": "Emma", "age": 25}
]

Alors, comment convertir plusieurs tableaux d'objets en PHP en tableau d'objets JSON ci-dessus ? Nous pouvons le faire en utilisant une boucle.

L'exemple de code est le suivant :

//对象数组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);

Expliquez le code ci-dessus. Tout d'abord, deux tableaux d'objets PHP $objArr1 et $objArr2 sont définis. Définissez ensuite un tableau d'objets JSON vide $jsonArr et utilisez une boucle pour convertir chaque objet de $objArr1 et $objArr2 en un objet JSON et ajoutez-le à $jsonArr. Enfin, utilisez la fonction json_encode() pour convertir $jsonArr en une sortie de chaîne au format JSON, obtenant ainsi le tableau d'objets JSON requis.

3. Convertir plusieurs tableaux d'objets en tableaux de tableaux d'objets

Dans certains cas, nous devons convertir plusieurs tableaux d'objets en un tableau de tableaux d'objets au lieu d'un tableau d'objets JSON fusionné. À ce stade, il nous suffit de convertir chaque tableau d'objets en tableau d'objets dans la boucle et de les ajouter à un tableau.

L'exemple de code est le suivant :

//对象数组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);

Le résultat est le suivant :

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)
    }
}

Dans le code ci-dessus, nous définissons deux tableaux d'objets $objArr1 et $objArr2, et définissons un tableau de tableaux d'objets vide $objArrArr. Ensuite, bouclez, convertissez chaque objet de $objArr1 et $objArr2 en un tableau d'objets et ajoutez-les à $objArrArr. Enfin, génèrez $objArrArr pour obtenir le tableau de tableaux d'objets requis.

Résumé

Cet article présente principalement comment convertir plusieurs tableaux d'objets en tableaux d'objets JSON et en tableaux de tableaux d'objets. Lors de la conversion JSON, vous devez faire attention au deuxième paramètre de la fonction json_decode(). Nous recommandons généralement d'utiliser true pour convertir la chaîne au format JSON en un tableau associatif. Lorsque vous utilisez une conversion en boucle, vous devez faire attention à convertir chaque objet en un objet JSON ou un tableau d'objets et à les ajouter à un tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn