Foros del Web » Programando para Internet » PHP »

Convertir un string en array a partir de la falta de espacios

Estas en el tema de Convertir un string en array a partir de la falta de espacios en el foro de PHP en Foros del Web. No se si se entiende la pregunta, pero me interesa saber si es posible convertir un string como este: Código: $elstr = "lampara"; en un ...
  #1 (permalink)  
Antiguo 29/09/2009, 23:18
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Convertir un string en array a partir de la falta de espacios

No se si se entiende la pregunta, pero me interesa saber si es posible convertir un string como este:

Código:
$elstr = "lampara";
en un array como este:

Código:
$elarr = ['l','a','m','p','a','r','a'];
Segun he visto solo es posible con while o explode, pero en el caso del segundo no permite que el parametro de separacion sea la falta de espacios aplicando explode("",$elstr);. Esto ultimo en JavaScript y ActionScript si es posible, con split, pero en el manual online de PHP el split aparece deprecado.

Me interesa saber si existe otro metodo para hacer la conversion o debo olvidarme de ello y continuar con explode/while ???

Muchas gracias de antemano a cualquier ayuda o link que me puedan facilitar.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #2 (permalink)  
Antiguo 30/09/2009, 04:19
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Convertir un string en array a partir de la falta de espacios

con un string es simple

Código php:
Ver original
  1. $elstr = "lampara";
  2.  
  3. echo $elstr[0]; //return l
  4. echo $elstr[1]; //return a
  5. echo $elstr[2]; //return m
  6. echo $elstr[3]; //return p
  7. echo $elstr[4]; //return a
  8. echo $elstr[5]; //return r
  9. echo $elstr[6]; //return a
  #3 (permalink)  
Antiguo 30/09/2009, 07:03
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Wao, no imagine que fuera tan simple, por eso le estoy tomando pasion a PHP.

Código PHP:
<?

$elstr 
"lampara";

for (
$i 0$i strlen($elstr); $i ++)
{
    echo 
$elstr[$i] . "<br/>";
}

?>
@samu22, muchisimas gracias por tu ayuda.

@samu22 o alguien mas que pueda sugerirme alguna idea:

A partir de la respuesta de @samu22 hice una pequeña funcion para convertir los strings en array por cada caracter. Aqui el codigo:

Código PHP:
function strToArr($elstr)
{
    
$elarr = array();
    
    for (
$i 0$i strlen($elstr); $i ++)
    {
        
$elarr[$i] = $elstr[$i];
    }
    
    return 
$elarr;
}

$tmparr = array( strToArr('Alimento') );
echo 
$tmparr[2]; 
El problema es que echo $tmparr[2]; me llega en blanco cuando deberia imprimir una "i". Que puede estar mal en la funcion ???
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por GatorV; 30/09/2009 a las 09:07
  #4 (permalink)  
Antiguo 30/09/2009, 07:38
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Convertir un string en array a partir de la falta de espacios

Cita:
Iniciado por junihh Ver Mensaje
@samu22 o alguien mas que pueda sugerirme alguna idea:

A partir de la respuesta de @samu22 hice una pequeña funcion para convertir los strings en array por cada caracter. Aqui el codigo:

Código PHP:
function strToArr($elstr)
{
    
$elarr = array();
    
    for (
$i 0$i strlen($elstr); $i ++)
    {
        
$elarr[$i] = $elstr[$i];
    }
    
    return 
$elarr;
}

$tmparr = array( strToArr('Alimento') );
echo 
$tmparr[2]; 
El problema es que echo $tmparr[2]; me llega en blanco cuando deberia imprimir una "i". Que puede estar mal en la funcion ???
pero con es funcion estas haciendo lo mismo, $elarr[$i] = $elstr[$i];

el problema de la devolucion en balanco es que estas guardando tmparr en otro array por lo que te queda

array(
array(
0=>A,
1=>l,
2=>i,
etc


$tmparr = strToArr('Alimento');
echo $tmparr[2];

con eso te funcionaria pero seria lo mismo que hacer
$tmparr = "Alimento";
echo $tmparr[2];
  #5 (permalink)  
Antiguo 30/09/2009, 07:41
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Convertir un string en array a partir de la falta de espacios

Código PHP:
$tmparr = array( strToArr('Alimento') );
echo 
$tmparr[2];  

//para imprimir la letra correspondiente tendrias que hacer

echo $tmparr[0][2]; 
  #6 (permalink)  
Antiguo 30/09/2009, 08:38
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Respuesta: Convertir un string en array a partir de la falta de espacios

samu22, entiendo lo que dices. Mas bien termine creando un array de multiniveles sin esperar. Gracias por tu respuesta, vere como manejo este asunto.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #7 (permalink)  
Antiguo 30/09/2009, 08:48
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Convertir un string en array a partir de la falta de espacios

Código PHP:
Ver original
  1. function strToArr($elstr)
  2. {
  3.     $elarr = array();
  4.      
  5.     for ($i = 0; $i < strlen($elstr); $i ++)
  6.     {
  7.         $elarr[] = $elstr[$i];
  8.     }
  9.      
  10.     return $elarr;
  11. }
  12.  
  13. $tmparr = strToArr('Alimento');
  14. var_dump($tmparr);
  #8 (permalink)  
Antiguo 30/09/2009, 09:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Convertir un string en array a partir de la falta de espacios

str_split, digo para que re-hacer lo que ya existe nativamente?

Saludos.
  #9 (permalink)  
Antiguo 30/09/2009, 11:52
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
@gjx2, gracias por responder, tomare en cuenta a var_dump.

@GatorV, pues por ignorancia de la existencia de str_split. Muchisimas gracias por esa pista.

@gjx2, gracias por responder, tomare en cuenta a var_dump.

@GatorV, pues por ignorancia de la existencia de str_split. Muchisimas gracias por esa pista.

Segun he podido ver hay muchas funciones para practicamente cualquier cosa, lo que hace a PHP un lenguaje muy amplio.
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por GatorV; 30/09/2009 a las 13:04
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 08:20.