Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/11/2007, 12:24
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Ciclo WHILE se sale antes

Lo que te dice Gatorv es cierto. Veamos, entiendo que tu quieres que de todas maneras haya como mínimo 3 falsas y 1 verdadera no?... En ese caso, aunque parezca que no suena lógico, debes usar un operador OR y no uno AND, te diré porque...

Antes de empezar el ciclo tienes:

$falsas = 0
$verdaderas = 0

En el primer ciclo obtienes una falsa... entonces

$falsas = 1
$verdaderas = 0

Se cumple la condicion? V<1 (si) y F<3 (si), entonces ejecuta nuevamente el ciclo

Segundo ciclo, obtienes una verdadera:

$falsas = 1
$verdaderas = 1

Se cumplira ahora la condicion? V<1 (NO) y F<3 (si)... Como usas un operador AND, el bucle ya no se ejecuta nuevamente, pues ya no se cumplen las dos condiciones. Así, sólo obtienes una V y una F... Si usaras un operador OR:

Se cumplira ahora la condicion? V<1 (NO) ó F<3 (si)... Cómo se cumple una de dos, seguimos el bucle

etc. etc. etc...

Así, cuando ya tengas 3 F o más, y 1 V o más, al fin el ciclo se detendrá, pues ya no se cumple ninguna de las dos condiciones...

Prueba usando el OR, o ||, y nos cuentas como te va

Un saludo,