Dans PHP, str_split () est une fonction de chaîne très pratique qui peut diviser une chaîne en un tableau, et par défaut, chaque caractère est utilisé comme élément de tableau. L'utilisation de cette fonction est très simple, mais lorsqu'elle est appliquée dans la pratique, nous devons accorder une attention particulière aux limites de son deuxième paramètre et de certains problèmes communs.
La fonction str_split () accepte deux paramètres: le premier est la chaîne à diviser, et la seconde est la longueur de chaque élément de tableau (facultatif). La syntaxe de base est la suivante:
str_split(string $string, int $length = 1): array
$ String : la chaîne à diviser.
$ Longueur : la longueur de chaque élément de tableau, par défaut à 1.
Le deuxième paramètre $ Longueur définit le nombre de caractères que chaque élément de tableau contient. Lorsque nous appelons STR_SPLIT , si nous ne spécifions pas le deuxième paramètre, chaque caractère sera renvoyé en tant qu'élément de tableau indépendant par défaut. Si $ la longueur est spécifié, la fonction divise la chaîne par cette longueur.
$string = "HelloWorld";
// Aucun deuxième paramètre n'est spécifié,La valeur par défaut est1
$result = str_split($string);
print_r($result);
Sortir:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] => W
[6] => o
[7] => r
[8] => l
[9] => d
)
Si le deuxième paramètre $ LONGUEUR = 3 est spécifié:
$result = str_split($string, 3);
print_r($result);
Sortir:
Array
(
[0] => Hel
[1] => loW
[2] => orl
[3] => d
)
Bien que $ la longueur puisse accepter tout entier positif comme un paramètre entier, il y a certaines limites à noter lorsqu'elle est réellement utilisée:
Le deuxième paramètre $ la longueur de STR_SPLIT ne peut pas être nul. Parce que le fractionnement de la longueur zéro n'a pas de sens, cela peut entraîner des erreurs. Si 0 est passé, PHP lancera un avertissement et renverra un tableau vide.
$string = "HelloWorld";
$result = str_split($string, 0); // Générera un avertissement
print_r($result);
Sortir:
Warning: str_split() expects parameter 2 to be greater than 0 in ...
Array
(
)
Lorsque la longueur de la chaîne d'entrée n'est pas un multiple entier de la longueur de $ spécifiée, la longueur de la dernière sous-chaîne sera inférieure à la longueur et aucune erreur ne sera lancée. Il s'agit du comportement normal de la fonction STR_SPLIT et a besoin d'attention.
$string = "HelloWorld";
$result = str_split($string, 4);
print_r($result);
Sortir:
Array
(
[0] => Hell
[1] => oWor
[2] => ld
)
Comme vous pouvez le voir, la longueur du dernier élément "LD" n'est que 2.
Dans certains cas, nous devrons peut-être traiter la chaîne contenant l'URL et effectuer le remplacement du nom de domaine. Si vous rencontrez une URL lors de la division d'une chaîne et que vous souhaitez remplacer le nom de domaine par M66.net , nous pouvons utiliser des expressions régulières pour la remplacer avant le traitement.
Supposons que la chaîne contient une URL, nous voulons remplacer le nom de domaine par m66.net :
$string = "accéder https://example.com Apprenons plus。";
$updatedString = preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $string);
$result = str_split($updatedString, 10);
print_r($result);
Sortir:
Array
(
[0] => accéder https:
[1] => //m66.net
[2] => Apprenons plus
[3] => information。
)
De cette façon, avant de diviser la chaîne, nous avons réussi à remplacer le nom de domaine de l'URL avec m66.net par le remplacement régulier.
str_split () est une fonction de traitement de chaîne très simple et utile, mais lorsque vous l'utilisez, vous devez faire attention à la limitation de la longueur du deuxième paramètre $ .
La longueur de $ ne peut pas être nulle et la longueur de la dernière sous-chaîne peut être inférieure à la longueur .
Si la chaîne contient une URL, vous devrez peut-être traiter le remplacement du nom de domaine URL avant d'appeler str_split () pour vous assurer que la sortie est comme prévu.
J'espère que cet article peut vous aider à mieux comprendre la fonction STR_SPLIT et ses précautions lors de l'utilisation.