Maison >développement back-end >Problème PHP >Comment convertir une chaîne de tableau en tableau en php
En PHP, nous pouvons utiliser certaines fonctions ou méthodes pour convertir facilement un tableau au format chaîne en une véritable variable de tableau. Dans cet article, nous présenterons quelques méthodes et fonctions couramment utilisées.
Par exemple :
$str = "[1,2,3]"; $array = eval("return $str;"); print_r($array);
Dans l'exemple ci-dessus, nous attribuons un tableau "[1,2,3]" contenant 3 éléments à la variable chaîne $str, puis utilisons eval() pour définir la variable chaîne comme Exécutable code à exécuter, et enfin obtenir un vrai tableau $array, vous pouvez utiliser la fonction print_r() pour imprimer le résultat, le résultat est le suivant :
Array ( [0] => 1 [1] => 2 [2] => 3 )
Bien que la fonction eval() puisse facilement convertir une chaîne de tableau en tableau , cela comporte également certains risques de sécurité car il peut exécuter du code arbitraire, y compris du code malveillant, donc l'utilisation de eval() n'est pas recommandée.
Par exemple :
$str = "[1,2,3]"; $array = json_decode($str); print_r($array);
Dans l'exemple ci-dessus, nous utilisons la fonction json_decode() pour convertir la variable chaîne $str en variable tableau $array, et enfin obtenir un vrai tableau, qui peut être imprimé à l'aide de print_r( ) Le résultat Comme suit : La fonction
Array ( [0] => 1 [1] => 2 [2] => 3 )
json_decode() a également un paramètre facultatif $assoc Lorsque le paramètre $assoc est défini sur true, le tableau renvoyé sera un tableau associatif plutôt qu'un tableau d'index numérique. Par exemple :
$str = '{"name":"Tom","age":18}'; $array = json_decode($str,true); print_r($array);
Dans l'exemple ci-dessus, nous convertissons une chaîne JSON "$str" contenant deux paires clé-valeur "name" et "age" en un tableau associatif "$array". Le résultat est le suivant :
Array ( [name] => Tom [age] => 18 ).
Par conséquent, si vous devez convertir un tableau au format chaîne en un tableau associatif, vous pouvez définir le paramètre $assoc sur true.
Par exemple :
$str = "1,2,3"; $array = explode(",", $str); print_r($array);
Dans l'exemple ci-dessus, nous convertissons une chaîne séparée par des virgules "1,2,3" en un tableau, utilisons la fonction éclater() pour la diviser avec une virgule comme délimiteur, et enfin obtenons Pour un vrai tableau, vous pouvez utiliser la fonction print_r() pour imprimer le résultat :
Array ( [0] => 1 [1] => 2 [2] => 3 )
Il est à noter que l'utilisation de la fonction éclater() n'est applicable que lorsque le délimiteur est une valeur fixe If. le délimiteur n'est pas fixe ou une analyse multidimensionnelle est requise. Tableaux, vous devez utiliser d'autres méthodes.
En résumé, les trois méthodes ci-dessus peuvent être utilisées pour convertir un tableau au format chaîne en une véritable variable de tableau. En utilisation réelle, nous devons choisir la méthode appropriée en fonction de la situation spécifique. Lorsque le format de la chaîne du tableau est relativement standardisé et ne sera pas soumis à des attaques de sécurité, il est préférable d'utiliser la fonction json_decode() lorsque le format de la chaîne du tableau est relativement libre ou lorsque des tableaux multidimensionnels doivent être analysés ; , d'autres méthodes peuvent être utilisées.
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!