Foros del Web » Programando para Internet » PHP »

el separador de Explode

Estas en el tema de el separador de Explode en el foro de PHP en Foros del Web. hola, quiero utilizar un explode de esta forma: Código PHP: $tipos =  explode ( '' , $tipes );  Para que me separe todos los carácteres ...
  #1 (permalink)  
Antiguo 02/09/2003, 02:31
Avatar de Ánima  
Fecha de Ingreso: julio-2002
Ubicación: Catalunya, Barcelona.
Mensajes: 538
Antigüedad: 21 años, 9 meses
Puntos: 1
Pregunta el separador de Explode

hola, quiero utilizar un explode de esta forma:
Código PHP:
$tiposexplode('',$tipes); 
Para que me separe todos los carácteres de esa cadena, pero de ésta forma me da este error:
Warning: explode(): Empty delimiter.

Como puedo hacer para separar todos los caracteres de la cadena en un array como haría explode?
  #2 (permalink)  
Antiguo 02/09/2003, 02:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Claro que te da error, intentas separar por nada.

Ademas, no necesitas el explode para acceder individualmente a cada caracter como en un array. PHP te lo permite directamente con 2 sintaxis:
Código PHP:
$cadena="Esto es una cadena";
for (
$i=0;$i<strlen($cadena);$i++) {
  echo 
$cadena{$i}.'<br>';
}

// o
for ($i=0;$i<strlen($cadena);$i++) {
  echo 
$cadena[$i].'<br>';

Lo que no te permite es usar directamente la variable cadena como array para for each. Esto da error:
Código PHP:
$cadena="Esto es una cadena";
foreach (
$cadena as $car) {
    echo 
$car.'<br>';

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 02/09/2003, 03:03
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola,

Una forma es haciendo uso de la función preg_split(). Por ejemplo:

Código:
<?php

$tipes = 'Hola mundo';

$tipos = preg_split('//', $tipes);

?>

Sin embargo, el anterior ejemplo retorna un par de elementos vacíos ('') al comienzo y al final de la matriz de resultados. Para obtener solo elementos no-vacíos puedes usar la bandera PREG_SPLIT_NO_EMPTY:

Código:
$tipos = preg_split('//', $tipes, -1, PREG_SPLIT_NO_EMPTY);

Un cordial saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:41.