# explode

(PHP 4, PHP 5)

explode — Split a string by string

### Description

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` .

### Parameters

`delimiter`

  The boundary string.

`string`

  The input string.

`limit`

  If `limit` is set, the returned array will contain a maximum of `limit` elements with the last element containing the rest of `string` .

  If the `limit` parameter is negative, all components except the last -`limit` are returned.

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.

### Return Values

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` .

### ChangeLog

Version | Description
--- | ---
5.1.0 | Support for negative `limit` s was added
4.0.1 | The `limit` parameter was added

### Examples

Example#1 explode() examples

`<?php
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// Example 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 `limit` parameter examples

`<?php
$str = '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:

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

### Notes

> Note: This function is binary-safe.

### See Also

- preg_split()
- str_split()
- strtok()
- implode()