Dans PHP, la fonction str_split () est une fonction très pratique utilisée pour diviser une chaîne en un tableau. Cette fonction a deux paramètres:
Le premier paramètre : la chaîne à diviser.
Le deuxième paramètre : spécifie la longueur de chaque élément de tableau (c'est-à-dire la taille "bloc" du segmenté).
Lorsque nous passons 0 comme deuxième paramètre, le résultat peut ne pas être comme nous l'avons prévu. Aujourd'hui, nous explorerons en profondeur ce qui se passe lorsque le deuxième paramètre de str_split () est 0.
Tout d'abord, jetons un coup d'œil à l'utilisation de base de str_split () :
$str = "abcdef";
$result = str_split($str, 2);
print_r($result);
Le code ci-dessus divise la chaîne "ABCDEF" dans un tableau de longueur 2 pour chaque élément, et la sortie sera:
Array
(
[0] => ab
[1] => cd
[2] => ef
)
Ensuite, testons le type de comportement Str_split () se comporter lorsque le deuxième paramètre est 0:
$str = "abcdef";
$result = str_split($str, 0);
print_r($result);
Exécutez le code ci-dessus et vous constaterez que PHP rapportera une erreur:
Warning: str_split(): The length of each chunk must be greater than 0 in /path/to/your/file.php on line X
En effet, la fonction str_split () nécessite que le deuxième paramètre doit être supérieur à 0. Lorsque 0 est passé, la fonction émettra un avertissement et n'effectuera pas une opération de division de chaîne.
Le deuxième paramètre de str_split () spécifie la longueur maximale de chaque élément de tableau. Si cette valeur est 0, PHP considère en interne que ce soit une longueur invalide, ce qui la fait ne pas gérer correctement la chaîne. Par conséquent, il déclenche un avertissement que le développeur doit avoir un deuxième paramètre supérieur à 0.
Grâce à l'analyse ci-dessus, nous pouvons conclure que lorsque la fonction STR_SPLIT () est appelée, le deuxième paramètre ne peut pas être 0. Si 0, PHP jette un avertissement et la fractionnement de la chaîne ne peut pas être effectuée correctement. Par conséquent, il est important de toujours s'assurer que la taille du bloc valide (intégrales supérieures à 0) est transmise.