Dans le développement PHP, il est souvent nécessaire de convertir les données au format JSON en tableaux PHP. Cet article explique comment convertir une chaîne de tableau JSON en tableau PHP.
Tout d’abord, nous devons comprendre ce qu’est JSON. JSON (JavaScript Object Notation) est un format d'échange de données léger. Dans JSON, les données sont représentées sous la forme de paires clé-valeur, chaque paire clé-valeur étant séparée par des virgules et entourée d'accolades ou de crochets. JSON peut être utilisé pour l’échange de données et convient à différents langages de programmation.
Voici un exemple simple de chaîne de tableau JSON :
[{"name":"John","age":25},{"name":"Jane","age":30}]
À ce stade, nous voulons le convertir en un tableau PHP, ce qui peut être réalisé à l'aide de la fonction intégrée PHP json_decode(). La fonction json_decode() est une fonction qui convertit une chaîne JSON en un objet ou un tableau PHP. Sa syntaxe est la suivante :
mixed json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)
Où $json est une chaîne de format JSON valide, $assoc est une valeur booléenne facultative, la valeur par défaut est false, si elle est définie sur true, un tableau associatif PHP sera renvoyé. $profondeur est un entier facultatif qui spécifie le nombre maximum de niveaux d'imbrication de la chaîne JSON. La valeur par défaut est 512. $options est un entier facultatif spécifiant les options de comportement de la fonction json_decode(). Les options couramment utilisées sont JSON_BIGINT_AS_STRING, JSON_OBJECT_AS_ARRAY et JSON_NUMERIC_CHECK.
Ce qui suit est un exemple de code pour convertir la chaîne du tableau JSON ci-dessus en un tableau PHP :
$json_str = '[{"name":"John","age":25},{"name":"Jane","age":30}]'; $arr = json_decode($json_str, true); print_r($arr);
Le résultat de sortie est :
Array ( [0] => Array ( [name] => John [age] => 25 ) [1] => Array ( [name] => Jane [age] => 30 ) )
Comme vous pouvez le voir, la fonction json_decode() convertit la chaîne JSON en un tableau PHP, qui peut être utilisé comme un fonctionnement normal comme un tableau PHP.
Dans le développement réel, si nous devons opérer sur un tableau JSON, nous pouvons d'abord le convertir en tableau PHP puis opérer sur le tableau PHP. Par exemple, nous pouvons utiliser une boucle foreach pour parcourir chaque élément du tableau :
foreach ($arr as $item) { echo $item['name'] . ' is ' . $item['age'] . ' years old.' . PHP_EOL; }
Le résultat de sortie est :
John is 25 years old. Jane is 30 years old.
En plus d'utiliser la fonction json_decode(), PHP fournit également la fonction json_encode(), qui peut convertir un tableau ou un objet PHP en chaîne au format JSON. Sa syntaxe est la suivante :
string json_encode(mixed $value, int $options = 0, int $depth = 512)
Parmi eux, $value est la valeur à encoder au format JSON, qui peut être un tableau PHP, un objet, un nombre, une chaîne, etc. $options est une valeur entière facultative spécifiant les options comportementales pour la fonction json_encode(). $profondeur est un entier facultatif spécifiant le nombre maximum de niveaux d'imbrication. La valeur par défaut est 512.
Ce qui suit est un exemple de code pour convertir un tableau PHP en une chaîne au format JSON :
$arr = [ ['name' => 'John', 'age' => 25], ['name' => 'Jane', 'age' => 30], ]; $json_str = json_encode($arr); echo $json_str . PHP_EOL;
Le résultat de sortie est :
[{"name":"John","age":25},{"name":"Jane","age":30}]
On peut constater que la fonction json_encode() convertit un tableau PHP en une chaîne au format JSON.
En résumé, pour convertir une chaîne de tableau JSON en tableau PHP, vous pouvez utiliser la fonction json_decode(). Dans le même temps, si vous devez convertir un tableau PHP en chaîne au format JSON, vous pouvez utiliser la fonction json_encode(). Dans le développement réel, ces deux fonctions sont très utiles et peuvent nous aider à échanger des données entre différents langages de programmation et applications.
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!