Maison >développement back-end >Problème PHP >Comment convertir une chaîne de tableau en tableau en php

Comment convertir une chaîne de tableau en tableau en php

PHPz
PHPzoriginal
2023-04-27 09:08:22957parcourir

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.

  1. Utilisez la fonction eval
    Utilisez la fonction intégrée PHP eval() pour exécuter la chaîne en tant que code exécutable, afin que vous puissiez utiliser la fonction eval pour convertir un tableau au format chaîne en un véritable tableau.

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.

  1. Utiliser la fonction json_decode
    En PHP, nous pouvons également utiliser la fonction json_decode() pour convertir un tableau au format chaîne en une véritable variable de tableau.

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.

  1. Utilisez la fonction éclater
    Utilisez la fonction intégrée PHP éclater() pour diviser une chaîne séparée par un délimiteur spécifique en un tableau.

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!

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