Maison >développement back-end >Problème PHP >Comment convertir json en objet tableau php

Comment convertir json en objet tableau php

PHPz
PHPzoriginal
2023-04-26 10:24:52499parcourir

JSON (JavaScript Object Notation) est un format d'échange de données léger couramment utilisé pour la transmission de données front-end et back-end. Le tableau PHP est une structure de données très courante, principalement utilisée pour stocker et manipuler des données. Dans le développement réel, nous avons souvent besoin de convertir les données JSON reçues du front-end en un tableau PHP pour faciliter le traitement et le stockage ultérieurs. Cet article explique comment convertir des données JSON en tableaux PHP et tableaux d'objets.

Qu'est-ce que JSON ?

JSON est un format d'échange de données léger très courant dans les interactions front-end et back-end. Contrairement à XML, JSON est plus concis et facile à analyser. Par exemple, voici un exemple simple de données JSON :

{
  "name": "Lucy",
  "age": 18,
  "gender": "female"
}

Jetons un coup d'œil à cette structure de données JSON. Il s'agit en fait d'un objet contenant trois paires clé-valeur. Chaque paire clé-valeur se compose d'une clé et d'une valeur, séparées par des deux-points, et les paires clé-valeur sont séparées par des virgules. La clé est une chaîne et la valeur peut être un type de données différent tel qu'une chaîne, un nombre, un booléen, un objet, un tableau, etc.

Convertir les données JSON en tableau PHP

En PHP, nous pouvons utiliser la fonction json_decode() pour convertir les données JSON en tableau PHP. Cette fonction accepte deux paramètres. Le premier paramètre correspond aux données JSON à analyser. Le deuxième paramètre est une valeur booléenne, qui est par défaut false, et spécifie s'il faut convertir les données JSON en un tableau associatif au lieu d'un objet. Voici un exemple simple : json_decode() 函数将 JSON 数据转换为 PHP 数组。这个函数接受两个参数,第一个参数是要解析的 JSON 数据,第二个参数是一个布尔值,默认为 false,指定是否将 JSON 数据转换为关联数组而不是对象。下面是一个简单的示例:

$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }';
$php_data = json_decode($json_data);

// 输出转换后的 PHP 数组
var_dump($php_data);

输出结果如下:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}

如上所示,json_decode() 函数成功将 JSON 数据转换为 PHP 数组。如果第二个参数为 true,即将 JSON 数据转换为关联数组,那么我们可以这样写:

$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }';
$php_data = json_decode($json_data, true);

// 输出转换后的 PHP 关联数组
var_dump($php_data);

输出结果如下:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}

将 JSON 数据转换为 PHP 对象数组

如果 JSON 数据中包含多个对象,我们需要将它们转换为 PHP 的对象数组。下面是一个 JSON 数组示例:

[
  { "name": "Lucy", "age": 18, "gender": "female" },
  { "name": "Tom", "age": 20, "gender": "male" }
]

我们可以使用 json_decode() 函数将这个 JSON 数组转换为 PHP 数组,然后使用 foreach 循环遍历数组,将每个数组元素转换为 PHP 对象。下面是示例代码:

$json_data = '[{ "name": "Lucy", "age": 18, "gender": "female" },
              { "name": "Tom", "age": 20, "gender": "male" }]';
$php_data = json_decode($json_data);

// 将数组元素转换为 PHP 对象
foreach ($php_data as $item) {
  $obj_array[] = (object) $item;
}

// 输出转换后的 PHP 对象数组
var_dump($obj_array);

输出结果如下:

array(2) {
  [0]=>
  object(stdClass)#1 (3) {
    ["name"]=>
    string(4) "Lucy"
    ["age"]=>
    int(18)
    ["gender"]=>
    string(6) "female"
  }
  [1]=>
  object(stdClass)#2 (3) {
    ["name"]=>
    string(3) "Tom"
    ["age"]=>
    int(20)
    ["gender"]=>
    string(4) "male"
  }
}

在这段代码中,我们首先使用 json_decode() 函数将 JSON 数据转换为 PHP 数组。然后,我们通过 foreach 循环遍历数组,将每个数组元素转换为 PHP 对象,存储到 $obj_array 中。在转换为 PHP 对象时,我们使用了 (object)rrreee

Le résultat est le suivant :

rrreee

Comme indiqué ci-dessus, la fonction json_decode() convertit avec succès les données JSON en un tableau PHP. Si le deuxième paramètre est vrai, c'est-à-dire convertir les données JSON en un tableau associatif, alors nous pouvons écrire comme ceci :

rrreee

Le résultat de sortie est le suivant :🎜rrreee🎜Convertir les données JSON en un tableau d'objets PHP🎜🎜Si les données JSON contiennent plusieurs objets, nous devons les convertir en tableaux d'objets PHP. Voici un exemple de tableau JSON : 🎜rrreee🎜Nous pouvons utiliser la fonction json_decode() pour convertir ce tableau JSON en tableau PHP, puis utiliser foreach pour parcourir le tableau et convertir chaque élément du tableau est converti en objets PHP. Voici l'exemple de code : 🎜rrreee🎜Le résultat est le suivant : 🎜rrreee🎜Dans ce code, nous utilisons d'abord la fonction json_decode() pour convertir les données JSON en un tableau PHP. Nous parcourons ensuite le tableau via foreach, convertissant chaque élément du tableau en un objet PHP et le stockant dans $obj_array. Lors de la conversion en objet PHP, nous utilisons le cast (object) pour convertir les éléments du tableau en objet PHP. 🎜🎜Résumé🎜🎜Cet article explique comment convertir des données JSON en tableaux PHP et tableaux d'objets. Dans le développement réel, nous devons fréquemment interagir avec les données front-end et back-end, il est donc très important de comprendre la conversion entre les tableaux JSON et PHP. Il convient de noter que lors de la conversion, nous devons connaître le type de données que nous utilisons afin d'utiliser correctement la fonction de traitement correspondante. 🎜

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