Convertir une chaîne délimitée par des virgules en un tableau d'entiers
Dans un scénario de codage récent, un développeur a été chargé de convertir une chaîne de entiers séparés par des virgules dans un tableau d'entiers. Le code fourni :
<pre class="brush:php;toolbar:false">$string = "1,2,3" $ids = explode(',', $string); var_dump($ids);
aboutissait à un tableau de chaînes, plutôt qu'à des nombres entiers. Pour résoudre ce problème, le développeur a posé la question suivante :
Préoccupation :
J'ai besoin que les valeurs soient de type int au lieu de type string. Existe-t-il une meilleure façon de procéder que de parcourir le tableau avec foreach et de convertir chaque chaîne en int ?
Solution :
Pour obtenir la conversion souhaitée, une approche plus efficace est pour utiliser la fonction array_map() avec explosive(). Le code corrigé :
<pre class="brush:php;toolbar:false">$integerIDs = array_map('intval', explode(',', $string));
Maintenant, le résultat de var_dump($integerIDs) donnera :
<pre class="brush:php;toolbar:false">array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
Cette solution élimine le besoin de boucle manuelle et fournit une méthode plus concise pour convertir la chaîne délimitée par des virgules en un tableau d'entiers.
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!