(PHP 3, PHP 4, PHP 5)

explode -- Split a string by string


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

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string delimiter. If limit is set, the returned array will contain a maximum of limit elements with the last element containing the rest of string.

If delimiter is an empty string (""), explode() will return FALSE. If delimiter contains a value that is not contained in string, then explode() will return an array containing string.

If the limit parameter is negative, all components except the last -limit are returned. This feature was added in PHP 5.1.0.

Although implode() can, for historical reasons, accept its parameters in either order, explode() cannot. You must ensure that the delimiter argument comes before the string argument.

Note: The limit parameter was added in PHP 4.0.1

Example 1. explode() examples

// Example 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
$pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
$user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
$user; // foo
echo $pass; // *


Example 2. limit parameter examples

= 'one|two|three|four';

// positive limit
print_r(explode('|', $str, 2));

// negative limit (since PHP 5.1)
print_r(explode('|', $str, -1));

The above example will output:

    [0] => one
    [1] => two|three|four
    [0] => one
    [1] => two
    [2] => three

Note: This function is binary-safe.

See also preg_split(), str_split(), strtok(), and implode().