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:
for (expr1; expr2; expr3) sentencia
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:
/* 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 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.
for (expr1; expr2; expr3): sentencia; ...; endfor;
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.
|
Anterior: while en php |
Siguiente: foreach en php |
| articulos relacionados |