La méthode d'explosion peut diviser une chaîne en un tableau basé sur une certaine chaîne comme point limite.
array explode ( string $delimiter , string $string [, int $limit ] )
Renvoie un tableau composé de chaînes. Chaque élément est une sous-chaîne de chaîne, séparée par le délimiteur de chaîne comme point de frontière.
Description du paramètre :
délimiteur
Caractère délimiteur sur la frontière.
chaîne
Chaîne d'entrée
limite
Si le paramètre limite est défini et qu'il s'agit d'un nombre positif, le tableau renvoyé contient au plus des éléments limites, et le dernier élément contiendra le reste de la chaîne.
Si le paramètre limit est un nombre négatif, alors tous les éléments sauf les derniers éléments -limit sont renvoyés.
Si la limite est 0, elle sera traitée comme 1.
est utilisé pour diviser la chaîne
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
sortie :
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9)
est utilisé, divisez la chaîne, la limite est un nombre positif
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str, 5);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
Sortie :
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5,6,7,8,9)
Utilisez, pour diviser la chaîne, la limite est un nombre négatif
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str, -3);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
Sortie :
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6)
Utiliser, diviser la chaîne, la limite est 0
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str,0);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
Sortie :
Array( [0] => 1,2,3,4,5,6,7,8,9)
Généralement, nous utilisons l'explosion pour diviser les données telles que les chaînes d'identification
<?php$ids = '1,2,3,4';$data = explode(',', $ids);if($data){ foreach($data as $k=>$v){ // do sth } }?>
Dans des circonstances normales, les identifiants sont pas vide, et vous ne saurez pas si vous regardez le code. Si vous rencontrez un problème, car il y a un jugement if (data), il est généralement considéré qu'un traitement vide a été effectué.
Mais la situation réelle est que ids=null, mais les données ne sont pas vides, ce qui posera des problèmes avec le code exécuté dans foreach.
<?php$ids = null;$data = explode(',', $ids);if($data){ print_r($data); }else{ echo 'null'; }?>
Parce que ids=null, utilisez exploser pour diviser, et le tableau résultant est Array ( [0] => ) au lieu de Array() .
Il est donc jugé qu'il doit être modifié pour éviter les problèmes.
<?php$ids = null;$data = explode(',', $ids);if(isset($data[0]) && $data[0]){ foreach($data as $k=>$v){ // do sth } }?>
Cet article explique les problèmes que les novices peuvent facilement ignorer lors de l'utilisation d'exploser pour diviser des chaînes en PHP. Pour plus d'informations. contenu, veuillez faire attention au site Web PHP chinois.
Recommandations associées :
Explication sur la méthode de données à deux colonnes dans la table d'échange MySQL
Comment générer 0~1 aléatoire via php Méthode décimale
Instructions pour utiliser la fonction de format d'horodatage mysql from_unixtime
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!