gratiszona

bucle for

Los bucles for son los bucles mas complejos en PHP. Se comportan como su contrapartida en C. La sintaxis de un bucle
for es:
for (expr1; expr2; expr3) sentencia
La primera expresion (expr1) se evalua (ejecuta) incondicionalmente una vez al principio del bucle.
Al comienzo de cada iteracion, se evalua expr2 . Si se evalua como TRUE, el bucle continua y las sentencias anidadas se
ejecutan. Si se evalua como FALSE, la ejecucion del bucle finaliza.
Al final de cada iteracion, se evalua (ejecuta) expr3.
Cada una de las expresiones puede estar vacia. Que expr2 este vacia significa que el bucle deberia correr indefinidamente
(PHP implicitamente lo considera como TRUE, al igual que C). Esto puede que no sea tan inutil como se podria pensar
puesto que a menudo se quiere salir de un bucle usando una sentencia break condicional en vez de usar la condicion de
for.
Considera los siguientes ejemplos. Todos ellos muestran numeros del 1 al 10:
/* ejemplo 1 */
for ($i = 1; $i <= 10; $i++) {
print $i;
}
/* ejemplo 2 */
for ($i = 1;;$i++) {
if ($i > 10) {
break;
}
print $i;

}
/* ejemplo 3 */
$i = 1;
for (;;) {
if ($i > 10) {
break;
}
print $i;
$i++;
}

/* ejemplo 4 */
for ($i = 1; $i <= 10; print $i, $i++) ;

Por supuesto, el primer ejemplo parece ser el mas elegante (o quizas el cuarto), pero uno puede descubrir que ser capaz de
usar expresiones vacias en bucles for resulta util en muchas ocasiones.
PHP tambien soporta la "sintaxis de dos puntos"alternativa para bucles for.
for (expr1; expr2; expr3): sentencia; ...; endfor;
Otros lenguajes poseen una sentencia foreach para traducir un array o una tabla hash. PHP3 no posee tal construccion;
PHP4 si (ver foreach). En PHP3, se puede combinar while con las funciones list() y each() para conseguir el mismo efecto.
Mirar la documentacion de estas funciones para ver un ejemplo.
Anterior: while en php
Siguiente: foreach en php