En PHP, la segmentation des chaînes est l'une des opérations communes, en particulier lors de la gestion de l'extraction des données à partir de formulaires, d'URL ou d'autres sources de texte. PHP fournit une variété de fonctions aux chaînes divisées, parmi lesquelles STR_SPLIT et EXPLOIT sont les deux les plus couramment utilisées. Bien qu'ils puissent tous être utilisés pour diviser les cordes, ils se comportent différemment. Comprendre les différences entre ces deux fonctions est très important pour les développeurs, en particulier lorsque vous traitez des chaînes, vous devez choisir la bonne fonction. Cet article comparera ces deux fonctions en détail pour vous aider à comprendre leurs différences et leurs scénarios d'application.
La fonction principale de la fonction STR_SPLIT est de diviser une chaîne en un tableau en fonction de la longueur spécifiée. Sa syntaxe est la suivante:
array str_split ( string $string [, int $length = 1 ] )
$ String : la chaîne à diviser.
$ Longueur : La longueur de chaque sous-chaîne, la valeur par défaut est 1.
Par exemple:
$string = "HelloWorld";
$result = str_split($string, 3);
print_r($result);
Le résultat de la sortie est:
Array
(
[0] => Hel
[1] => loW
[2] => orl
[3] => d
)
Dans cet exemple, la chaîne "Helloworld" est divisée en un élément de tableau contenant chacun 3 caractères. Il convient de noter que STR_SPLIT ne prend en compte aucun séparateur ou caractères spécifiques, mais est divisé par une longueur donnée. Si la longueur de la chaîne ne peut pas être divisée en longueur spécifiée, le dernier élément peut contenir les caractères restants.
Contrairement à STR_SPLIT , Exploit divise les chaînes en tableaux basés sur le délimiteur spécifié. Sa syntaxe est la suivante:
array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )
$ Delimiter : le délimiteur utilisé pour diviser les chaînes.
$ String : la chaîne à diviser.
$ limit : le nombre de la plupart des éléments dans le tableau, la valeur par défaut est PHP_INT_MAX , indiquant qu'il n'y a pas de limite.
Par exemple:
$string = "apple,orange,banana";
$result = explode(",", $string);
print_r($result);
Le résultat de la sortie est:
Array
(
[0] => apple
[1] => orange
[2] => banana
)
Dans cet exemple, la fonction d'exploit divise la chaîne en plusieurs mots avec une virgule en tant que séparateur. Explose vous permet de contrôler la façon dont vous vous séparez en fonction de caractères spécifiques (tels que des virgules, des espaces ou d'autres symboles).
Méthode divisée : STR_SPLIT consiste à diviser la chaîne par une longueur fixe, tandis que Explore est de diviser la chaîne par un séparateur spécifié.
Scénario d'application : STR_SPLIT convient à la division des chaînes lorsque vous connaissez la longueur de chaque sous-chaîne, tandis que l'exploit est adapté pour diviser les chaînes lorsque vous connaissez des séparateurs (comme les espaces, les virgules, etc.).
Gestion des caractères restants : Si la longueur de la chaîne ne peut pas être complètement divisée par la longueur de str_split , la dernière partie contiendra les caractères restants; Cela ne se produira pas avec l'exploit , qui divisera la chaîne en autant de pièces que possible en fonction du séparateur.
Résultat de retour : les deux tableaux de retour, mais les éléments de tableau renvoyés par STR_SPLIT sont généralement de longueur fixe, tandis que les éléments de tableau renvoyés par exploit sont déterminés par le délimiteur.
$string = "apple123orange456banana";
$result = str_split($string, 3);
print_r($result);
Sortir:
Array
(
[0] => app
[1] => le1
[2] => 23
[3] => ora
[4] => nge
[5] => 45
[6] => 6ba
[7] => nan
[8] => a
)
$string = "apple123,orange456,banana";
$result = explode(",", $string);
print_r($result);
Sortir:
Array
(
[0] => apple123
[1] => orange456
[2] => banana
)
Avec l'exemple ci-dessus, nous pouvons clairement voir les différentes façons de ces deux fonctions lorsqu'ils traitent des chaînes.
STR_SPLIT convient plus à des scénarios où les chaînes doivent être divisées par une longueur fixe.
Explose est plus adapté à la division des chaînes par délimiteur, en particulier lorsqu'il s'agit de CSV, de données texte ou d'URL.
Pour les développeurs, le choix de la fonction à utiliser dépend de vos besoins réels. Si vous devez diviser la chaîne en fonction d'une position fixe du caractère, STR_SPLIT est un meilleur choix. Si vous avez besoin de diviser une chaîne en fonction d'un caractère ou d'un modèle spécifique, l'exploit est sans aucun doute plus approprié.