explode

(PHP 4, PHP 5, PHP 7, PHP 8)

explodeDivide un string en varios string

Descripción

explode(string $delimiter, string $string, int $limit = PHP_INT_MAX): array

Devuelve un array de string, siendo cada uno un substring del parámetro string formado por la división realizada por los delimitadores indicados en el parámetro string separator.

Parámetros

separator

El string delimitador.

string

El string de entrada.

limit

Si el parámetro limit es positivo, el array devuelto contendrá el máximo de limit elementos, y el último elemento contendrá el resto del string.

Si el parámetro limit es negativo, se devolverán todos los componentes a excepción del último -limit.

Si el parámetro limit es cero, se tratará como 1.

Nota:

Antes de PHP 8.0, implode() aceptaba los parámetros en cualquier orden. explode() nunca ha soportado esto: Debe asegurarse de que el argumento separator vaya antes que el argumento string.

Valores devueltos

Devuelve un array de string creados por la división del parámetro string usando los delimitadores indicados en el parámetro delimiter.

Si separator es un string vacío (""), explode() devolverá un ValueError. Si separator contiene un valor que no forma parte del parámetro string y se utiliza un limit negativo, entonces devolverá un array vacío, en caso contrario se devolverá un array que contiene el valor de string. Si el valor de separator aparece al comienzo o al final del string, dichos valores se añadirán como un valor de array vacío en la primera o última posición a devolver respectivamente.

Historial de cambios

Versión Descripción
8.0.0 explode() ahora lanzará ValueError cuando el argumento separator reciba un string vacío (""). Anteriormente, explode() devolvía false en su lugar.

Ejemplos

Ejemplo #1 Ejemplo de explode()

<?php
// Ejemplo 1
$pizza  "porción1 porción2 porción3 porción4 porción5 porción6";
$porciones explode(" "$pizza);
echo 
$porciones[0]; // porción1
echo $porciones[1]; // porción2

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

?>

Ejemplo #2 Ejemplos de la devolución de explode()

<?php
/*
   Un string que no contiene el delimitador simplemente
   devolverá un array de longitud uno con el string original.
*/
$entrada1 "hola";
$entrada2 "hola,qué tal";
var_dumpexplode','$entrada1 ) );
var_dumpexplode','$entrada2 ) );

?>

El resultado del ejemplo sería:

array(1)
(
    [0] => string(4) "hola"
)
array(2)
(
    [0] => string(4) "hola"
    [1] => string(8) "qué tal"
)

Ejemplo #3 Ejemplos del parámetro limit

<?php
$str 
'uno|dos|tres|cuatro';

// límite positivo
print_r(explode('|'$str2));

// límite negativo
print_r(explode('|'$str, -1));
?>

El resultado del ejemplo sería:

Array
(
    [0] => uno
    [1] => dos|tres|cuatro
)
Array
(
    [0] => uno
    [1] => dos
    [2] => tres
)

Notas

Nota: Esta función es segura binariamente.

Ver también

  • preg_split() - Divide un string mediante una expresión regular
  • str_split() - Convierte un string en un array
  • mb_split() - Divide cadenas de caracteres multibyte usando una expresión regular
  • str_word_count() - Devuelve información sobre las palabras utilizadas en un string
  • strtok() - Tokeniza string
  • implode() - Une elementos de un array en un string