explode
(PHP 4, PHP 5)
explode — Coupe une chaîne en segments
Description
$delimiter
, string $string
[, int $limit
] )
explode() retourne un tableau de chaînes,
chacune d'elle étant une sous-chaîne
du paramètre string extraite en utilisant le séparateur
delimiter.
Liste de paramètres
-
delimiter -
Le séparateur.
-
string -
La chaîne initiale.
-
limit -
Si
limitest défini et positif, le tableau retourné contient, au maximum,limitéléments, et le dernier élément contiendra le reste de la chaîne.Si le paramètre
limitest négatif, tous les éléments, excepté les -limitderniers éléments sont retournés.Si
limitvaut zéro, il est traité comme valant 1.
Bien que implode() puisse, pour des raisons historiques,
accepter ces paramètres dans n'importe quel ordre,
explode() ne le peut pas.
Vous devez vous assurer que le paramètre delimiter
soit placé avant le paramètre string.
Valeurs de retour
Retourne un tableau de chaînes de caractères créées en découpant
la chaîne du paramètre string en plusieurs
morceaux suivant le paramètre delimiter.
Si delimiter est une chaîne vide (""),
explode() retournera FALSE. Si
delimiter contient une valeur qui n'est pas contenue
dans string ainsi qu'une valeur négative pour le paramètre
limit, alors explode()
retournera un tableau vide, sinon, un tableau contenant la chaîne
string entière.
Historique
| Version | Description |
|---|---|
| 5.1.0 |
Le paramètre limit peut désormais être négatif
|
| 4.0.1 |
Le paramètre limit a été ajouté
|
Exemples
Exemple #1 Exemple avec explode()
<?php // Exemple 1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 // Exemple 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo $user; // foo echo $pass; // * ?>
Exemple #2 Exemple de valeurs retournées par la fonction explode()
<?php /* Une chaîne qui ne contient pas de délimiteur va retourner un tableau contenant qu'un seul élément représentant la chaîne originale */ $input1 = "hello"; $input2 = "hello,there"; var_dump( explode( ',', $input1 ) ); var_dump( explode( ',', $input2 ) ); ?>
<?php $str = 'one|two|three|four'; // limit positif print_r(explode('|', $str, 2)); // limit négatif (depuis PHP 5.1) print_r(explode('|', $str, -1)); ?>
L'exemple ci-dessus va afficher :
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)
Notes
Note: Cette fonction gère les chaînes binaires.
Voir aussi
- preg_split() - Éclate une chaîne par expression rationnelle
- str_split() - Convertit une chaîne de caractères en tableau
- mb_split() - Scinde une chaîne en tableau avec une expression rationnelle multi-octets
- str_word_count() - Compte le nombre de mots utilisés dans une chaîne
- strtok() - Coupe une chaîne en segments
- implode() - Rassemble les éléments d'un tableau en une chaîne
