Foros del Web » Programando para Internet » PHP »

Problema con array que no entiendo

Estas en el tema de Problema con array que no entiendo en el foro de PHP en Foros del Web. Hola a todos. Soy nuevo en php y por varias circunstancias no cuento con el tiempo que debería para realizar una pequeña aplicación. Estoy leyendo ...
  #1 (permalink)  
Antiguo 03/02/2010, 04:42
 
Fecha de Ingreso: noviembre-2009
Mensajes: 44
Antigüedad: 14 años, 5 meses
Puntos: 0
Problema con array que no entiendo

Hola a todos. Soy nuevo en php y por varias circunstancias no cuento con el tiempo que debería para realizar una pequeña aplicación. Estoy leyendo y releyendo manuales, foros.... y bueno, algo voy cogiendo.

El caso, es que tego 2 días para entregar la aplicación, y estoy atascado.

En la aplicación, elijo una palabra de un archivo xml, la meto en una variable y luego quiero meterla en un array, con una letra por cada posición. el caso es que mi código mete las letras en el array, pero yo no se por qué, es como si no lo guardara bien.

Mi código (en pruebas):
Código PHP:
Ver original
  1. for ($i=0;$i<$long;$i++)
  2.        
  3.         {
  4.            
  5.             $arraypalabra[i] = substr($elegida,$i,1);
  6.             echo "$arraypalabra[i],";
  7.             $arraysecreto[i] = "_";
  8.             echo "$arraypalabra[0]";
  9.             //echo " ";
  10.             //echo "_";
  11.             //echo " ";
  12.            
  13.         }
$elegida es la palabra. En $arraypalabra es donde quiero meter las letras. Lo raro es que el primer ECHO me saca por pantalla la letra correcta, pero el segundo echo, ¡¡NO SACA NADA!! y al salir del for $arraypalabra está vacío!!

Que es lo que pasa??

Muchas gracias por la ayuda!!!!
  #2 (permalink)  
Antiguo 03/02/2010, 06:02
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Problema con array que no entiendo

Hola:

Si no entendi mal creo que deberias probar con while en vez del for.

Prueba y luego nos comentas.

Saludos.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #3 (permalink)  
Antiguo 03/02/2010, 06:05
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problema con array que no entiendo

las variables string pueden tratarse como arrays:

Código PHP:
Ver original
  1. $palabra = "palabra";
  2. for ($i=0;$i<strlen($palabra);$i++){
  3.     $letra= $palabra[$i];
  4.     echo $letra.'<br />';
  5. }
  #4 (permalink)  
Antiguo 03/02/2010, 06:08
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema con array que no entiendo

claro que pueden ser tratados como array y pueden ser tratados con [] tanto como con {}


Código PHP:
Ver original
  1. $palabra = "palabra";
  2.       for ($i=0;$i<strlen($palabra);$i++){
  3.           $letra= $palabra{$i};
  4.           echo $letra.'<br />';
  5.      }
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 03/02/2010, 10:47
 
Fecha de Ingreso: noviembre-2009
Mensajes: 44
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con array que no entiendo

Gracias a todos. No sabía lo de que los strings se pueden usar como arrays. Lo tendré en cuenta. Mi código, el error está en que el índice del array debe ser con $i y no con i

Código PHP:
Ver original
  1. for ($i=0;$i<$long;$i++)
  2.        
  3.         {
  4.            
  5.             $arraypalabra[$i] = substr($elegida,$i,1);
  6.             //echo "$arraypalabra[$i],";
  7.             $arraysecreto[$i] = "_";
  8.             echo "$arraysecreto[$i] ";
  9.        
  10.         }

Etiquetas: Ninguno
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 04:56.