split --
Scinde une chaîne en un tableau,
grâce à une expression
rationnelle
array split (
string pattern, string string [, int
limit] )
Astuce : preg_split(), qui utilise
la syntaxe des expressions rationnelles
compatibles PERL, est une alternative
plus rapide à split(). Si vous
n'avez pas besoin de la puissance
des expressions rationnelles, il est
plus rapide d'utiliser explode(),
qui n'utilise pas le moteur d'expressions
rationnelles.
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 rationnelle 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 occurrences de pattern,
le tableau retourné contiendra
n+1 éléments. Par exemple,
s'il n'y a aucune occurrence de pattern,
un tableau d'un seul élément
sera retourné. Bien sûr,
cela 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
la fonction preg_split() ou la fonction
str_split().
Notez aussi que pattern est une expression
rationnelle. Si vous voulez utiliser
n'importe quel caractère spécial
des expressions rationnelles, vous
devez les échapper. Si vous
pensez que split() (ou toute autre
expression rationnelle) 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(),
str_split(), explode(),
implode(),
chunk_split()
et wordwrap().
|