explode
explode($separator, $string, $limit)
Découpe la chaîne $string à chaque séparateur $separator et renvoie un tableau des morceaux. Utile pour traiter une liste de valeurs séparées par des virgules ou pour décomposer une date en année, mois et jour.
Paramètres
- $separator – chaîne à l’endroit de laquelle on découpe (elle ne peut pas être vide).
- $string – chaîne à découper.
- $limit – facultatif. Nombre positif = nombre maximal d’éléments (le dernier contient le reste de la chaîne), nombre négatif = autant d’éléments omis à la fin.
Exemples
$tags = explode(",", "php,mysql,css");
print_r($tags); // Array ( [0] => php [1] => mysql [2] => css )
// décomposer une date en variables
list($year, $month, $day) = explode("-", "2026-09-26");
echo $year; // 2026
// limite
print_r(explode(",", "a,b,c,d", 2)); // Array ( [0] => a [1] => b,c,d )
print_r(explode(",", "a,b,c,d", -1)); // Array ( [0] => a [1] => b [2] => c )
// suppression des espaces autour des valeurs
$tags = array_map("trim", explode(",", "php, mysql , css"));
print_r($tags); // Array ( [0] => php [1] => mysql [2] => css )
Points d’attention
- Si la chaîne ne contient pas le séparateur, la fonction renvoie un tableau d’un seul élément : la chaîne entière.
- Un séparateur vide est interdit : en PHP 7, la fonction renvoie false avec un avertissement, en PHP 8 elle lance une exception ValueError. Pour découper en caractères isolés, il y a str_split().
- Les espaces autour du séparateur font partie des valeurs – supprimez-les avec array_map("trim", …).
Fonctions associées :
implode()
trim()
count()
str_getcsv()