PHP / explode – de string a array
Es prácticamente el opuesto a implode. La función de PHP explode divide un string en varios substrings los cuales son almacenados en un array.
Es una función que recibe 2 parámetros, 1 es el delimitador este es el valor por el cual se cortara el string y el otro es el string que será dividido en substrings.
También se puede usar un tercer parámetro llamado $limit.
Este parámetro es el limiter de divisiones, por ende si es 3 obtendremos 3 substrings, el último substring tendrá el resto del string principal cumpla o no con el delimitador.
Sintaxis de explode
explode($delimitador,$string,$limit)
$delimitador
– es un string que contiene el carácter o conjunto de caracteres por el cual queremos cortar nuestro string.
$string
– es el string al cual le aplicaremos explode.
$limit
– la mayoría de las veces $limit no es utilizado, aunque si es utilizado explode devolverá la cantidad de elementos especificados en $limit con el último elemento devolviendo el resto del string, en caso de ser negativo lo que hará es devolver el array sin la cantidad de elementos que digamos
Ejemplos
Por ejemplo, imagine que tenemos una URL y queremos sacar algún valor en especial.
with variable $limit not specified<?php $url = "hombres/camisetas/rojas"; $array = explode("/",$url); echo $array[0]."\n"; echo $array[1]."\n"; echo $array[2]."\n"; ?>
hombres camisetas rojas
Hagamos unos ejemplos con utilizando la variable $limit
$limit=2<?php $url = "hombres/camisetas/rojas"; $array = explode("/",$url,2); var_dump($array); ?>
array(2) { [0]=> string(7) "hombres" [1]=> string(15) "camisetas/rojas" }
Ahora cambiemos $limit a -2
explode example with $limit=-2<?php $url = "hombres/camisetas/rojas"; $array = explode("/",$url,-2); var_dump($array); ?>
array(1) { [0]=> string(7) "hombres" }
Haré un último ejemplo con $limit= -1
para terminar de cerrar el concepto de como funciona $limit
<?php $url = "hombres/camisetas/rojas"; $array = explode("/",$url,-1); var_dump($array); ?>
array(2) { [0]=> string(7) "hombres" [1]=> string(9) "camisetas" }