(PHP 4, PHP 5)
split — Scinde une chaîne en un tableau, grâce à une expression rationnelle
Cette fonction est devenue OBSOLÈTE en PHP 5.3.0, et a été SUPPRIMÉE en PHP 7.0.0.
Les alternatives à cette fonction incluent :
$pattern
, string $string
[, int $limit
= -1
] )
Scinde la chaîne string
dans un tableau grâce
à une expression rationnelle.
pattern
Expression rationnelle sensible à la casse.
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.
string
La chaîne d'entrée.
limit
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
.
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
.
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. Si une erreur survient,
split() retournera FALSE
.
Exemple #1 Exemple avec split()
Pour scinder les 4 premiers champs d'une ligne du fichier /etc/passwd :
<?php
list($user, $pass, $uid, $gid, $extra) =
split(":", $passwd_line, 5);
?>
Exemple #2 Exemple avec split()
Pour analyser une date qui est délimitée par des /, des points ou des tirets :
<?php
// Les délimiteurs peuvent être des tirets, points ou slash
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Mois : $month; Jour : $day; Année : $year<br />\n";
?>
split() est obsolète depuis PHP 5.3.0. Utilisez plutôt la fonction preg_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.
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().