(PHP 4, PHP 5, PHP 7, PHP 8)
explode — Scinde une chaîne de caractères en segments
explode() retourne un tableau de chaînes de caractères, chacune d'elle étant une sous-chaîne du paramètre string
extraite en utilisant le séparateur separator
.
separator
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:
Antérieur à PHP 8.0, implode() acceptait ses paramètres dans n'importe quel ordre. explode() n'a jamais supporté ceci : vous devez vous assurer que le paramètre
separator
soit placé avant le paramètrestring
.
Retourne un tableau de chaînes de caractères créées en scindant la chaîne du paramètre string
en plusieurs morceaux suivant le paramètre separator
.
Si separator
est une chaîne vide (""), explode() lancera une ValueError. Si separator
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. Si les valeurs de separator
apparaissent au début ou à la fin de string
, ces valeurs seront ajouté comme une valeur d'un array vide soit en la première ou dernière position du array retourné respectivement.
Version | Description |
---|---|
8.0.0 | explode() lancera désormais une ValueError quand le paramètre separator est donné une chaîne vide ("" ). Précédemment, explode() retournait false . |
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
$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
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.