Maison > développement back-end > tutoriel php > Une explication des problèmes que les novices peuvent facilement ignorer lors de l'utilisation d'exploser pour diviser des chaînes en PHP

Une explication des problèmes que les novices peuvent facilement ignorer lors de l'utilisation d'exploser pour diviser des chaînes en PHP

jacklove
Libérer: 2023-03-31 06:56:01
original
2326 Les gens l'ont consulté

1.description de la méthode explosion

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 ] )
Copier après la connexion

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.

2. L'exemple

est utilisé pour diviser la chaîne

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Copier après la connexion

sortie :

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9)
Copier après la connexion

est utilisé, divisez la chaîne, la limite est un nombre positif

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str, 5);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Copier après la connexion

Sortie :

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5,6,7,8,9)
Copier après la connexion

Utilisez, pour diviser la chaîne, la limite est un nombre négatif

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str, -3);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Copier après la connexion

Sortie :

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6)
Copier après la connexion

Utiliser, diviser la chaîne, la limite est 0

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str,0);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Copier après la connexion

Sortie :

Array(
    [0] => 1,2,3,4,5,6,7,8,9)
Copier après la connexion

3. Problèmes faciles à ignorer

Généralement, nous utilisons l'explosion pour diviser les données telles que les chaînes d'identification

<?php$ids = &#39;1,2,3,4&#39;;$data = explode(&#39;,&#39;, $ids);if($data){    foreach($data as $k=>$v){        // do sth
    }
}?>
Copier après la connexion

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(&#39;,&#39;, $ids);if($data){
    print_r($data);
}else{    echo &#39;null&#39;;
}?>
Copier après la connexion

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(&#39;,&#39;, $ids);if(isset($data[0]) && $data[0]){    foreach($data as $k=>$v){        // do sth
    }
}?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal