En este post te voy a mostrar cómo convertir un string a un array en PHP, es decir, a partir de una cadena crear un arreglo en PHP.

Para ello vamos a usar la función explode y también str_split.

Cadena a arreglo en PHP

Vamos a usar la función explode; para convertir la cadena a arreglo necesitamos un delimitador que normalmente podría ser un espacio.

La sintaxis es:

$arreglo = explode($separador, $cadena);

Veamos un ejemplo:

<?php
/*
	Cadena a arreglo en PHP

	https://parzibyte.me/blog/
*/
$cadena = "Hola mundo me gusta PHP";
$separador = " "; // Usar espacio como separador
$arreglo = explode($separador, $cadena);
var_dump($arreglo);
/*
Salida:
array(5) {
  [0]=>
  string(4) "Hola"
  [1]=>
  string(5) "mundo"
  [2]=>
  string(2) "me"
  [3]=>
  string(5) "gusta"
  [4]=>
  string(3) "PHP"
}
*/

En este caso usamos el espacio como separador. Puedes usar cualquier otro delimitador, incluso usar otra cadena como separador, como lo vimos en otro post.

Uso de str_split

El siguiente ejemplo de PHP usa str_split para separar todas las letras (y espacios) de una cadena:

<?php
/*
	Cadena a arreglo en PHP: separar todas las letras

	https://parzibyte.me/blog/
*/
$cadena = "https://parzibyte.me/blog/";
$arreglo = str_split($cadena);
var_dump($arreglo);
/*
Salida:
array(24) {
  [0]=>
  string(1) "h"
  [1]=>
  string(1) "t"
  [2]=>
  string(1) "t"
  [3]=>
  string(1) "p"
  [4]=>
  string(1) ":"
  [5]=>
  string(1) "/"
  [6]=>
  string(1) "/"
  [7]=>
  string(1) "p"
  [8]=>
  string(1) "a"
  [9]=>
  string(1) "r"
  [10]=>
  string(1) "z"
  [11]=>
  string(1) "i"
  [12]=>
  string(1) "b"
  [13]=>
  string(1) "y"
  [14]=>
  string(1) "t"
  [15]=>
  string(1) "e"
  [16]=>
  string(1) "."
  [17]=>
  string(1) "m"
  [18]=>
  string(1) "e"
  [19]=>
  string(1) "/"
  [20]=>
  string(1) "b"
  [21]=>
  string(1) "l"
  [22]=>
  string(1) "o"
  [23]=>
  string(1) "g"
}
*/

Usamos esta función en lugar de explode, ya que con explode no podemos usar un delimitador vacío.

Nota: si por alguna razón trabajas con cadenas multibyte el equivalente es:

$arreglo = preg_split('//u', $cadena,-1, PREG_SPLIT_NO_EMPTY);

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto