Foros del Web » Programando para Internet » PHP »

while (1)

Estas en el tema de while (1) en el foro de PHP en Foros del Web. En el siguiente ejemplo se utiliza la expresión while(1), es ¿mientras sea true?, en ese caso qué es lo que debe ser verdadero. Me parece ...
  #1 (permalink)  
Antiguo 14/06/2009, 10:53
Avatar de anticic  
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
while (1)

En el siguiente ejemplo se utiliza la expresión while(1), es ¿mientras sea true?, en ese caso qué es lo que debe ser verdadero. Me parece que es una forma de realizar un bucle, que está realmente controlado por if($multiplos>=20) y no por la condición de while(1). Como me parece que es una duda de concepto que tengo agradecería muchísimo que alguien acercara una aclaración.

Agradecida de antemano.

Código:
<?php
        echo "20 primeros múltiplos de 3 y 5:<BR><BR>";
        $multiplos=0;
        $i=0;
        while(1){
          $i++;
          if (($i%3 !== 0)||($i%5 !== 0)) {
             continue;
          }
          echo "$i, ";
          $multiplos++;
          if($multiplos>=20){
            break;
          }
        }
    ?>
  #2 (permalink)  
Antiguo 14/06/2009, 11:22
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: while (1)

Creo que es como tú comentas. while(1) indice "mientras verdadero" y debería ser un bucle infinito.

Si no estás segura, podrías probar con:

Código PHP:
$uno 1;
while(
$uno == 1){


Salu2!
  #3 (permalink)  
Antiguo 14/06/2009, 23:08
Avatar de anticic  
Fecha de Ingreso: noviembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: while (1)

Gracias por la respuesta, ya lo probé y sí tal cual.
Es verdadero siempre porque no es modificado dentro del bucle
  #4 (permalink)  
Antiguo 15/06/2009, 10:32
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: while (1)

Justamente. La solución que te puse es un poco cutre pero sirve igual mientras no modifiques $uno xD

Salu2!
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 18:23.