En PHP, nous avons souvent besoin de convertir des chaînes en tableaux d'entiers pour un traitement ultérieur des données. Ci-dessous, nous présenterons plusieurs méthodes pour convertir une chaîne en un tableau d'entiers.
Méthode 1 : Utiliser la fonction explosive()
La fonction explosion() peut diviser une chaîne en un tableau selon le délimiteur spécifié. En utilisant cette fonction et cette conversion de type, nous pouvons convertir une chaîne séparée par des virgules en un tableau d'entiers.
Par exemple, nous avons la chaîne suivante :
$str = "1,2,3,4,5";
Ensuite, vous pouvez utiliser le code suivant pour le convertir en un tableau d'entiers :
$arr = explode(",", $str); for ($i = 0; $i < count($arr); $i++) { $arr[$i] = (int)$arr[$i]; //转换成整型后存入数组 }
Méthode 2 : Utilisez la fonction preg_split()
Similaire à la fonction explosive() , la fonction preg_split() Vous pouvez également diviser une chaîne en un tableau selon un modèle spécifié. Cette méthode est légèrement plus lourde que la fonction éclater(), mais peut gérer des chaînes plus complexes.
Par exemple, nous avons la chaîne suivante :
$str = "1 | 2 | 3 | 4 | 5";
Ensuite, vous pouvez utiliser le code suivant pour le convertir en un tableau d'entiers :
$arr = preg_split("/[|]+/", $str); for ($i = 0; $i < count($arr); $i++) { $arr[$i] = (int)$arr[$i]; //转换成整型后存入数组 }
Méthode 3 : Utilisez la fonction array_map()
La fonctionarray_map() est une très fonction utile, un traitement spécifié peut être effectué sur chaque élément du tableau. Nous pouvons passer la fonction intval() en paramètre à la fonction array_map(), qui convertit la chaîne en entier.
Par exemple, nous avons la chaîne suivante :
$str = "1,2,3,4,5";
Ensuite, vous pouvez utiliser le code suivant pour le convertir en un tableau d'entiers :
$arr = array_map('intval', explode(',', $str));
Méthode 4 : Utilisez la fonction array_walk()
Similaire à la fonction array_map() , fonction array_walk() Il effectue également le traitement spécifié sur chaque élément du tableau. Nous pouvons transformer chaque élément en utilisant la fonction array_walk(). Mais dans ce cas, nous devons définir une fonction de rappel pour effectuer la conversion, puis utiliser la fonction array_walk() pour appeler la fonction de rappel.
Par exemple, nous avons la chaîne suivante :
$str = "1,2,3,4,5";
Ensuite, vous pouvez utiliser le code suivant pour le convertir en un tableau d'entiers :
function convertToInt(&$value) { $value = (int)$value; } $arr = explode(',', $str); array_walk($arr, 'convertToInt');
Conclusion
Les quatre méthodes ci-dessus peuvent convertir une chaîne en un tableau d'entiers. Parmi elles, la méthode utilisant la fonction array_map() est relativement simple, et la méthode utilisant la fonction preg_split() est relativement la plus flexible. La méthode à utiliser dépend de la situation spécifique à laquelle vous faites face.
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!