En javascript, var myStringToArray = myString.split(''); es perfectamente aceptable.
Pero en PHP, $My_String_To_Array = explode('', $My_String); arroja un error:
Advertencia: explotar () Delimitador vacío
El manual de PHP ( http://php.net/manual/en/function.explode.php ) explica:
Si el delimitador es una cadena vacía (""), explotar() devolverá FALSO .
Entonces, ¿qué debo usar en PHP contemporáneo en lugar de explode('', $My_String) ?
Hasta ahora, las alternativas que puedo ver son:
split("", $My_String) - en desuso a partir de PHP 5.3.0str_split($My_String)preg_split('//', $My_String) Hace siete años, str_split() habría sido la alternativa correcta para usar.
¿Pero str_split() todavía está en uso contemporáneo o solo debería estar mirando preg_split() ?
¿O debería estar mirando otra cosa?
Si se trata de cadenas UTF-8 de varios bytes, debe usar:
$array = preg_split('//u', $My_String,-1, PREG_SPLIT_NO_EMPTY);De lo contrario, puedes usar:
$array = str_split($My_String);La razón se indica en el manual :
str_split() se dividirá en bytes, en lugar de caracteres cuando se trata de una cadena codificada de varios bytes.
A partir de la versión 7.4 de PHP, se agregó el equivalente de mbstring de str_split para que ahora pueda usar:
$array = mb_str_split($my_string);Creo que str_split es lo que buscas
str_split — Convierte una cadena en una matriz
<?php $arr = str_split("Hello"); ?>Producirá
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o }el primer parámetro es obligatorio .
explode(separator,string,limit) [separator]: required; [string]: required; [limit]: alternative.Una función de explosión con un vacío [separador] no tiene sentido.
Eso es todo.O(∩_∩)O~