Forum und email

explode

(PHP 4, PHP 5)

explode — Coupe une chaîne en segments

Description

array explode ( string $delimiter , string $string [, int $limit ] )

explode retourne un tableau de chaînes. Ce sont les sous-chaînes extraites de string , en utilisant le séparateur delimiter . Si limit est fourni, le tableau retourné aura un maximum de limit éléments, et le dernier élément du tableau contiendra le reste de la chaîne string .

Si delimiter est une chaîne vide (""), explode() retournera FALSE. Si delimiter contient une valeur qui n'est pas contenue dans string , alors explode() retournera un tableau, contenant la chaîne string entière.

Si le paramètre limit a une valeur négative, tous les éléments exceptés le dernier limit sont retournés. Cette fonctionalité a été ajoutée depuis PHP 5.1.0.

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 .

Note: Le paramètre limit a été ajouté en PHP 4.0.1.

Example#1 Exemple avec explode()

<?php
// Exemple 1
$pizza  "pièce1 pièce2 pièce3 pièce4 pièce5 pièce6";
$pieces explode(" "$pizza);
echo 
$pieces[0]; // pièce1
echo $pieces[1]; // pièce2

// 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// *

?>

Example#2 Exemple avec le paramètre limit

<?php
$str 
'un|deux|trois|quatre';

// limite positive
print_r(explode('|'$str2));

// limite négative (depuis PHP 5.1)
print_r(explode('|'$str, -1));
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => un
    [1] => deux|trois|quatre
)
Array
(
    [0] => un
    [1] => deux
    [2] => trois
)

Note: Cette fonction gère les chaînes binaires.

Voir aussi preg_split(), str_split(), strtok() et implode().