Quelle est la différence entre split() et explode()?

le manuel PHP pour split() dit

Cette fonction a été DEPRECATED comme de PHP 5.3.0. S'appuyer sur cette fonctionnalité est fortement déconseillée...Utilisez explode() plutôt.

Mais je ne peux pas trouver une différence entre split() et explode(). join() n'a pas été déprécié, alors qu'est-ce que ça donne?

31
demandé sur hakre 2010-09-04 09:06:16

6 réponses

il a été déprécié parce que

  • explode() est beaucoup plus rapide car il ne se divise pas sur la base d'une expression régulière, donc la chaîne n'a pas à être analysée par l'analyseur de regex
  • preg_split() est plus rapide et utilise des expressions régulières PCRE pour regex splits

join() et implode() sont des pseudonymes l'un de l'autre et n'ont donc aucune différence.

49
répondu BoltClock 2010-09-04 05:16:29

split utilise regex, alors que explode utilise une chaîne fixe. Si vous avez besoin de regex, utilisez preg_split, qui utilise PCRE (le paquet regex est maintenant préféré dans toute la bibliothèque PHP standard).

4
répondu Matthew Flaschen 2010-09-04 05:08:52

split() vous pouvez utiliser des expressions régulières pour diviser une chaîne. Alors que les explode() divise une corde avec une corde. preg_split est une alternative beaucoup plus rapide, si vous avez besoin d'expressions régulières.

1
répondu Russell Dias 2010-09-04 05:09:31

les Deux fonctions sont utilisées pour Diviser une chaîne.

cependant, Split est utilisé pour séparer une chaîne en utilisant une expression régulière.

D'un autre côté, Explode est utilisé pour fendre une corde en utilisant une autre corde.

E. g explode ( " ", "ceci est une chaîne"); return " est une chaîne"

E. g Split (" + ", "Ce+ est une chaîne de caractères");

1
répondu 2010-09-04 06:40:47

split() la fonction divise la chaîne en un tableau en utilisant une expression régulière et renvoie un tableau.

explode() fonction divise la corde par corde.

ex:

<?php
    $split_array=split(':','I:P:S');
    $explode_array=split('and','I and P and S');
    print_r($split_array);
    print_r($explode_array);
?>

Le résultat sera

Array ( [0] => I [1] => P [2] => S ) 
Array ( [0] => I [1] => P [2] => S )
1
répondu rohini shinde 2015-12-02 20:38:00

les Deux sont utilisés pour découper une chaîne en un tableau, mais la différence est que split() utilise le motif pour se séparer alors que explode() utilise la chaîne de caractères. explode() est plus rapide que split() parce qu'il ne correspond pas à la chaîne régulière d'expression.

0
répondu Sampath 2015-12-02 08:13:39