Ver Mensaje Individual
  #16 (permalink)  
Antiguo 17/01/2008, 13:55
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: etiqueta <ul></ul> dentro de bucle while

Metiéndome donde no me llaman

While es una construcción que permite ejecutar un ciclo, siempre que una condicion se siga cumpliendo, o mejor dicho, mientras que la condición o la expresíón no devuelva false.

EJEMPLO:

Código PHP:
$i 1;
 
//Le digo que ejecute el bucle siempre que se cumpla que $i es menor a 5
while( $i ) {
 
    echo 
"$i <br>";
 
    
//Incremento el valor de $i, ya que si no lo hago, el bucle nunca termina
    
$i++;

Así, el bucle se ejecuta 4 veces, ya que en la quinta $i será igual a 5, por lo tanto ya no se cumple la condición, por lo tanto se escapa del bucle.

Ahora, el while se usa muy frecuentemente para mostrar datos de una consulta a una base de datos. La lógica es similar. Al usar funciones del tipo mysql_fetch_algo, lo que se hace es recorrer el array que contiene el resultado. Cuando se llega al último elemento del array la función devuelve false, por lo que se detiene el ciclo.

Cita:
Iniciado por php.net
El significado de una sentencia while es simple. Le dice a PHP que ejecute la(s) sentencia(s) anidada(s) repetidamente, mientras la expresión while se evalúe como TRUE. El valor de la expresión es comprobado cada vez al principio del bucle, así que incluso si este valor cambia durante la ejecución de la(s) sentencia(s) anidada(s), la ejecución no parará hasta el fin de la iteración (cada vez que PHP ejecuta las sentencias en el bucle es una iteración). A veces, si la expresión while se evalúa como FALSE desde el principio de todo, la(s) sentencia(s) anidada(s) no se ejecutarán ni siquiera una vez.
Foreach también te ha de generar un bucle, pero a diferencia del primero, que requiere una condición, este tipo de construccion (no es una funcion) requiere una matriz (array), y ejecuta el ciclo para cada elemento del array:

Código PHP:
 
$arr 
= array("a"=>"avion""b"=>"barco""c"=>"casa");
 
foreach(
$arr as $indice=>$valor) {
    echo 
"El índice <b>$indice</b> está asignado al valor <b>$valor</b> <br>";

Cita:
Iniciado por php.net
Esto simplemente da un modo fácil de iterar sobre matrices. foreach funciona solamente con matrices y devolverá un error si se intenta utilizar con otro tipo de datos ó variables no inicializadas.
Mejor que esto, el manual de PHP

Un saludo,