(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
.
separator
El separador.
string
La 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
separator
esté colocado antes del parámetrostring
.
Retorna un tableau 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 tableau vacío, de lo contrario, un tableau 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 resultado del ejemplo sería:
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 resultado del ejemplo sería:
Array ( [0] => one [1] => two|three|four ) Array ( [0] => one [1] => two [2] => three )
Nota: Esta función es segura binariamente.