Foros del Web » Programando para Internet » PHP »

Duda con do while

Estas en el tema de Duda con do while en el foro de PHP en Foros del Web. holas a todos, hasta ahora no tenia la necesidad de usar este bucle y ahora empiezo a usarlo pero tengo una duda extraña y es ...
  #1 (permalink)  
Antiguo 22/10/2010, 16:39
 
Fecha de Ingreso: septiembre-2009
Mensajes: 54
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Duda con do while

holas a todos, hasta ahora no tenia la necesidad de usar este bucle y ahora empiezo a usarlo pero tengo una duda extraña y es la sgte:

este codigo se entiende muy bien, se itera hasta cumplir la condicion y no hay problema
Código PHP:
Ver original
  1. $var = 0;
  2. do{
  3.     echo 'Estamos en el numero '.$var.'<br />';
  4.     $var++;
  5. }
  6. while($var<=10);

pero ahora quiero hacer lo mismo pero al revez, iterar hacia abajo, pruebo lo mismo y no resulta

Código PHP:
Ver original
  1. $var2 = 10;
  2. do{
  3.     echo 'Estamos en el numero '.$var2.'<br />';
  4.     $var2--;
  5. }
  6. while($var2<=0);

El concepto de do while dice que se itera una vez al inicio y luego hasta que cumpla la condicion, aqui no cumple la condicion pero el bucle se detiene

porque sucede esto? acaso con el do while no se puede iterar hacia atras


ACTUALIZADO: disculpen ya vi el problema, no me habia dado cuenta que me falto cambiar las llaves al final en lugar de while($var2<=0); deberia ser while($var2>=0); un error lo comete cualquiera, si quieren puede borrar ese post
  #2 (permalink)  
Antiguo 22/10/2010, 16:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Duda con do while

si, claro que se puede iterar hacía atrás... solo que tienes problemas de sentido común...

si $var2 es igual a diez, y tu usas una comparación que mientras sea menor o igual que cero... piensa, ¿cuando se va a cumplir dicha regla?

¡jamás!! porque el primer numero es 10, 9, 8, 7, ... y así, pues nunca $var2 será menor o igual que cero...

por esa razón no se ejecuta el bucle, sin embargo si la comparación es mientras sea mayor o igual a cero cambia la cosa, ¿verdad?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

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 12:58.