(PHP 4, PHP 5, PHP 7)
explode — Coupe une chaîne en segments
$delimiter
, string $string
[, int $limit
= PHP_INT_MAX
] )
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
.
delimiter
Le séparateur.
string
La chaîne initiale.
limit
Si limit
est 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 limit
est négatif,
tous les éléments, excepté les -limit
derniers éléments sont retournés.
Si limit
vaut zéro, il est traité
comme valant 1.
Note:
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ètrestring
.
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.
Version | Description |
---|---|
5.1.0 |
Le paramètre limit peut désormais être négatif
|
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";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );
?>
L'exemple ci-dessus va afficher :
array(1) ( [0] => string(5) "hello" ) array(2) ( [0] => string(5) "hello" [1] => string(5) "there" ) array(2) ( [0] => string(0) "" [1] => string(0) "" )
Exemple #3 Exemple avec explode() et le paramètre limit
<?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 )
Note: Cette fonction gère les chaînes binaires.