(PHP 4, PHP 5, PHP 7, PHP 8)
explode — Divide una string en segmentos
explode() retorna un array de strings, cada una de ellas siendo una substring del parámetro string extraída utilizando el separador separator.
separatorEl separador.
stringLa string inicial.
limit
Si limit está definido y es positivo, el array retornado contiene, como máximo, limit elementos, y el último elemento contendrá el resto de la string.
Si el parámetro limit es negativo, todos los elementos, excepto los últimos -limit elementos, son retornados.
Si limit vale cero, es tratado como si valiera 1.
Nota:
Antes de PHP 8.0, implode() aceptaba sus parámetros en cualquier orden. explode() nunca ha soportado esto: se debe asegurar que el parámetro
separatoresté colocado antes del parámetrostring.
Retorna un array de strings creadas al dividir la string del parámetro string en varios trozos siguiendo el parámetro separator.
Si separator es una string vacía (""), explode() lanzará una ValueError. Si separator contiene un valor que no está contenido en string así como un valor negativo para el parámetro limit, entonces explode() retornará un array vacío, de lo contrario, un array conteniendo la string string entera. Si los valores de separator aparecen al inicio o al final de string, estos valores serán añadidos como un valor de un array vacío ya sea en la primera o última posición del array retornado respectivamente.
| Versión | Descripción |
|---|---|
| 8.0.0 |
explode() lanzará ahora una ValueError cuando el parámetro separator es una string vacía (""). Anteriormente, explode() retornaba false.
|
Ejemplo #1 Ejemplo con explode()
<?php
// Ejemplo 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0], PHP_EOL; // piece1
echo $pieces[1], PHP_EOL; // piece2
// Ejemplo 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user, PHP_EOL; // foo
echo $pass, PHP_EOL; // *
?>
Ejemplo #2 Ejemplo de valores retornados por la función explode()
<?php
/* Una string que no contiene delimitador retornará un array
conteniendo solo un elemento representando la string original */
$input1 = "hello";
$input2 = "hello,there";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );
?>El ejemplo anterior mostrará :
array(1)
(
[0] => string(5) "hello"
)
array(2)
(
[0] => string(5) "hello"
[1] => string(5) "there"
)
array(2)
(
[0] => string(0) ""
[1] => string(0) ""
)
Ejemplo #3 Ejemplo con explode() y el parámetro limit
<?php
$str = 'one|two|three|four';
// limit positivo
print_r(explode('|', $str, 2));
// limit negativo
print_r(explode('|', $str, -1));
?>El ejemplo anterior mostrará :
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)
Nota: Esta función maneja strings binarios.