split

(PHP 3, PHP 4 , PHP 5)

split --  Scinde une chaîne en un tableau, grâce à une expression régulière.

Description

array split ( string pattern, string string [, int limit])

Astuce : preg_split(), qui utilise la syntaxe des expressions régulières compatibles PERL, est une alternative plus rapide à split(). Si vous n'avez pas besoin de la puissant des expressions régulières, il est plus rapide d'utiliser explode(), qui n'utilise pas le moteur d'expressions régulières.

split() retourne un tableau de chaînes : chacune d'entre elle est une sous-chaîne de string délimitée par les occurrences trouvées de l'expression régulière pattern. Si limit est défini, le tableau retourné contiendra un maximum de limit éléments avec le dernier élément contenant le reste de la chaîne string. Si une erreur survient, retourne FALSE.

Pour lire les 5 premiers champs d'une ligne du fichier /etc/passwd:

Exemple 1. Exemple avec split()

<?php
list($user, $pass, $uid, $gid, $extra)= split (":", $passwd_line, 5);
?>

S'il y a n occurences de pattern, le tableau retourné contiendra n+1 éléments. Par exemple, s'il n'y a aucune occurence de pattern, un tableau d'un seul élément sera retourné. Bien sûr, celà reste vrai si string est une chaîne vide.

Pour analyser une date qui est délimitée par des /, des points ou des tirets :

Exemple 2. Exemple avec split()

<?php
// Les délimiteurs peuvent être des tirets, points ou slash
$date = "04/30/1973";  
list(
$month, $day, $year) = split('[/.-]', $date);
echo
"Month: $month; Day: $day; Year: $year<br />\n";
?>

Pour les utilisateurs qui recherchent le moyen d'émuler la commande Perl @chars = split('', $str), voyez preg_split().

Notez aussi que pattern est une expression régulière. Si vous voulez utiliser n'importe quel caractère spécial des expressions régulières, vous devez les échapper. Si vous pensez que split() (ou toute autre expression régulière) se comporte bizarrement, lisez d'abord le fichier regex.7, inclus dans le dossier regex/ de la distribution PHP . Il est au format manpage, et vous pourrez le lire avec une commande telle que man /usr/local/src/regex/regex.7.

Voir aussi preg_split(), spliti(), explode(), implode(), chunk_split() et wordwrap().