explode
Split a string by a string
Description
array explode(string $separator
, string $string
, int $limit
= PHP_INT_MAX
)
Parameters
-
separator
-
The boundary string.
-
string
-
The input string.
-
limit
-
If limit
is set and positive, 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.
If the limit
parameter is zero, then this is treated as 1.
Note:
Prior to PHP 8.0, implode accepted its parameters in either order.
explode has never supported this: you must ensure that the
separator
argument comes before the
string
argument.
Return Values
Returns an array of strings
created by splitting the string
parameter on
boundaries formed by the separator
.
If separator
is an empty string (""),
explode throws a ValueError.
If separator
contains a value that is not
contained in string
and a negative
limit
is used, then an empty array will be
returned, otherwise an array containing
string
will be returned. If separator
values appear at the start or end of string
, said values
will be added as an empty array value either in the first or last
position of the returned array respectively.
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 explode return examples
<?php
/*
A string that doesn't contain the delimiter will simply
return a one-length array of the original string.
*/
$input1 = "hello";
$input2 = "hello,there";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );
?>
The above example will output:
array(1)
(
[0] => string(5) "hello"
)
array(2)
(
[0] => string(5) "hello"
[1] => string(5) "there"
)
array(2)
(
[0] => string(0) ""
[1] => string(0) ""
)
Example #3 limit
parameter examples
<?php
$str = 'one|two|three|four';
// positive limit
print_r(explode('|', $str, 2));
// negative limit
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
- mb_split
- str_word_count
- strtok
- implode