Foros del Web » Programando para Internet » PHP »

Problema con la condicion de un While

Estas en el tema de Problema con la condicion de un While en el foro de PHP en Foros del Web. Hola Todos. Tengo un problema con un While que no se como solucionar. El codigo que tengo es el siguiente: $obj = reset($matriz); // a ...
  #1 (permalink)  
Antiguo 04/08/2005, 18:27
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta Problema con la condicion de un While

Hola Todos.
Tengo un problema con un While que no se como solucionar.
El codigo que tengo es el siguiente:

$obj = reset($matriz); // a OBJ le asigno el 1° valor del vector
while( $obj != ""){ // si OBJ = "" es q' el vector ya no tiene valores
echo $obj;
$obj = next($matriz); // a OBJ le asigno el sig. valor del vector
}

Lo que hago es asignar a $obj los valores del vector. Con reset tomo el 1° valor y luego dentro del while paso al siguiente (next) siempre y cuando este no sea ="" , es decir q' vector ya llego a su ultimo valor.
Pero cuando la condicion me da un $obj = 0 me la toma como si fuera vacio.
La pregunta es si puedo poner de otra forma el while para que no tome el valor 0 como "" (vacio).
Agradesco desde ya la ayuda.
Gracias.

PD: En realidad es un Array y no vector.
  #2 (permalink)  
Antiguo 04/08/2005, 19:28
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
pues el otro dia descubri que toma 0 como vacio (enviando una variable por post...)

No puedes comenzar desde 1?, en todo caso, podrías hacer algo como >= 0 p >= -1
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 05/08/2005, 04:31
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por gato_zoldick
dentro del while paso al siguiente (next) siempre y cuando este no sea ="" , es decir q' vector ya llego a su ultimo valor.
No puedes con eso asegurar que llegas a su último valor. ¿qué pasa con $matriz= array("Hola", "", "algo"); --solo lo planteo--??.

Para asegurarte que recorres toda la matríz tu condicional ha de hacerse por el número de elementos, no por su contenido. Para ello auxiliarte de una variable numerica:
Código PHP:
$i=0;
while(
$i<count($matriz)) {
      
// haces lo que quieras
      
$i++; // aumentas

eso no te impide condicionar esa variable por algún caso especial...

Ahora, como información no pedida ... mejor usa empty() para la comparación que tenias y foreach() para recorrer la matriz...

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 05/08/2005, 17:15
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 18 años, 10 meses
Puntos: 0
Gracias...
Probare lo ultimo.
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:35.