for
(PHP 4, PHP 5, PHP 7, PHP 8)
Las bucles for
son las más complejas en PHP.
Funcionan como las bucles for
del lenguaje C(C++).
La sintaxis de las bucles for
es la siguiente :
La primera expresión (expr1) es
evaluada (ejecutada), en cualquier caso al
inicio de la bucle.
Al inicio de cada iteración, la expresión
expr2 es evaluada.
Si la evaluación es true
, la bucle
continúa y los comandos son ejecutados. Si
la evaluación es false
,
la ejecución de la bucle se detiene.
Al final de cada iteración, la expresión
expr3 es evaluada
(ejecutada).
Las expresiones pueden eventualmente ser
dejadas vacías o pueden contener varias expresiones separadas por comas.
En expr2, todas las expresiones separadas por una coma
son evaluadas pero el resultado se obtiene desde la última parte.
Si la expresión expr2
es dejada vacía, esto significa que es una bucle infinita
(PHP considera implícitamente que vale true
,
como en C). Esto no es realmente muy útil, a menos que se desee terminar la bucle con la
instrucción condicional
break
.
Considérese los siguientes ejemplos. Todos muestran los números enteros de
1 a 10 :
Por supuesto, el primer ejemplo es el más simple
de todos (o quizás el cuarto), pero también se puede pensar que usar una expresión vacía en una
bucle for
puede ser útil a veces.
PHP también soporta la siguiente sintaxis alternativa para las bucles
for
:
Muchas personas tienen la costumbre de iterar a través de arrays, como en
el ejemplo a continuación.
Este código puede ser lento porque debe calcular el tamaño del array en cada
iteración. Dado que el tamaño nunca cambia, puede ser fácilmente optimizado utilizando una variable intermedia para almacenar el tamaño en lugar de
llamar repetidamente a la función count() :