Los bucles for son los bucles más
complejos en PHP. Se comportan como su contrapartida en C. La
sintaxis de un bucle for es:
La primera expresión (expr1) se
evalúa (ejecuta) incondicionalmente una vez al principio del
bucle.
Al comienzo de cada iteración, se evalúa
expr2 . Si se evalúa como
TRUE, el bucle continúa y las sentencias anidadas se
ejecutan. Si se evalúa como FALSE, la ejecución del
bucle finaliza.
Al final de cada iteración, se evalúa (ejecuta)
expr3.
Cada una de las expresiones puede estar vacÃa. Que
expr2 esté vacÃa significa
que el bucle deberÃa correr indefinidamente (PHP
implicitamente lo considera como TRUE, al igual que C). Esto
puede que no sea tan inútil como se podrÃa pensar,
puesto que a menudo se quiere salir de un bucle usando una
sentencia break
condicional en vez de usar la condición de
for.
Considera los siguientes ejemplos. Todos ellos muestran números del
1 al 10:
Por supuesto, el primer ejemplo parece ser el mas elegante (o
quizás el cuarto), pero uno puede descubrir que ser capaz de
usar expresiones vacÃas en bucles for
resulta útil en muchas ocasiones.
PHP también soporta la "sintaxis de dos puntos" alternativa
para bucles for.
Otros lenguajes poseen una sentencia foreach
para traducir un array o una tabla hash. PHP3 no posee tal
construcción; PHP4 sà (ver foreach). En PHP3, se
puede combinar while con las funciones
list() y each() para
conseguir el mismo efecto. Mirar la documentación de estas
funciones para ver un ejemplo.