Estructuras de control: bucle for

Sintaxis del bucle for

La sintaxis del bucle for es la siguiente:

for (asignación_inicial; condición_continuación; cambio_variable) {
    bloque_de_sentencias
}

La ejecución de un bucle se realiza en el siguiente orden:

Ejemplos de bucles

En los bucles for más sencillos, en la expresión inicial se inicializa una variable que se evalúa en la expresión de continuación y que se modifica en la expresión de paso, como muestra el ejemplo siguiente:

Ejemplo de bucle 1

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>
<p>2</p>
<p>Final</p>

Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y retroceso situados abajo a la derecha.

Siguiente

Ejemplo de bucle 1 - Paso 1

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

Se ejecuta la primera instrucción del programa.

En este caso, imprime el párrafo de comienzo.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 2

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se ejecuta el bucle. El primer paso es dar el valor inicial a la variable de control.

En este caso, la variable de control es $i y toma el valor 0.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 3

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se comprueba que la condición de continuación se cumple.

En este caso, $i es inferior a 3 (vale 0), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 4

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>

A continuación se ejecutan las instrucciones del bloque.

En este caso, se imprime el texto <p>0</p> ya que $i tiene el valor 0.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 5

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>

A continuación se ejecuta la instrucción de paso.

En este caso, la variable $i aumenta una unidad, por lo que ahora vale 1.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 6

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i es inferior a 3 (vale 1), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 7

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>

A continuación se ejecutan de nuevo las instrucciones del bloque.

En este caso, se imprime el texto <p>1</p> ya que $i tiene el valor 1.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 8

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>

A continuación se ejecuta de nuevo la instrucción de paso.

En este caso, la variable $i aumenta una unidad, por lo que ahora vale 2.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 9

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i es inferior a 3 (vale 2), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 10

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>
<p>2</p>

A continuación se ejecutan de nuevo las instrucciones del bloque.

En este caso, se imprime el texto <p>2</p> ya que $i tiene el valor 2.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 11

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>
<p>2</p>

A continuación se ejecuta de nuevo la instrucción de paso.

En este caso, la variable $i aumenta una unidad, por lo que ahora vale 3.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 12

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>
<p>2</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i ya no es inferior a 3 (vale 3), así que no se ejecutan las instrucciones del bloque de sentencias y el bucle se termina.

Anterior Siguiente

Ejemplo de bucle 1 - Paso 13

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i < 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>0</p>
<p>1</p>
<p>2</p>
<p>Final</p>

Una vez terminado el bucle, se ejecuta la instrucción que sigue al bucle.

En este caso, imprime el párrafo final.

Anterior


La costumbre es que las variables que se utilizan en un bucle se llamen $i, $j, $k, etc. pero cualquier nombre sería válido:

<?php
for ($contador = 0; $contador < 5; $contador++) {
    print "<p>$contador</p>\n";
}
?>
<p>0</p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>

Los bucles no tienen por qué ir contando de uno en uno, la expresión de paso puede ser cualquiera:

Ejemplo de bucle 2

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>
<p>5</p>
<p>Final</p>

Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y retroceso situados abajo a la derecha.

Siguiente

Ejemplo de bucle 2 - Paso 1

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

Se ejecuta la primera instrucción del programa.

En este caso, imprime el párrafo de comienzo.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 2

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se ejecuta el bucle. El primer paso es dar el valor inicial a la variable de control.

En este caso, la variable de control es $i y toma el valor 1.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 3

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se comprueba que la condición de continuación se cumple.

En este caso, $i es inferior a 6 (vale 1), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 4

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>

A continuación se ejecutan las instrucciones del bloque.

En este caso, se imprime el texto <p>1</p> ya que $i tiene el valor 1.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 5

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>

A continuación se ejecuta la instrucción de paso.

En este caso, la variable $i aumenta dos unidades, por lo que ahora vale 3.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 6

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i es inferior a 6 (vale 3), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 7

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>

A continuación se ejecutan de nuevo las instrucciones del bloque.

En este caso, se imprime el texto <p>3</p> ya que $i tiene el valor 3.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 8

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>

A continuación se ejecuta de nuevo la instrucción de paso.

En este caso, la variable $i aumenta dos unidades, por lo que ahora vale 5.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 9

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i es inferior a 6 (vale 5), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 10

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>
<p>5</p>

A continuación se ejecutan de nuevo las instrucciones del bloque.

En este caso, se imprime el texto <p>5</p> ya que $i tiene el valor 5.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 11

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>
<p>5</p>

A continuación se ejecuta de nuevo la instrucción de paso.

En este caso, la variable $i aumenta dos unidades, por lo que ahora vale 7.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 12

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>
<p>5</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i ya no es inferior a 6 (vale 7), así que no se ejecutan las instrucciones del bloque de sentencias y el bucle se termina.

Anterior Siguiente

Ejemplo de bucle 2 - Paso 13

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>3</p>
<p>5</p>
<p>Final</p>

Una vez terminado el bucle, se ejecuta la instrucción que sigue al bucle.

En este caso, imprime el párrafo final.

Anterior


La variable también puede tomar valores descendientes:

Ejemplo de bucle 3

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>
<p>7</p>
<p>Final</p>

Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y retroceso situados abajo a la derecha.

Siguiente

Paso 1

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

Se ejecuta la primera instrucción del programa.

En este caso, imprime el párrafo de comienzo.

Anterior Siguiente

Paso 2

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se ejecuta el bucle. El primer paso es dar el valor inicial a la variable de control.

En este caso, la variable de control es $i y toma el valor 10.

Anterior Siguiente

Paso 3

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se comprueba que la condición de continuación se cumple.

En este caso, $i es superior a 5 (vale 10), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Paso 4

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>

A continuación se ejecutan las instrucciones del bloque.

En este caso, se imprime el texto <p>10</p> ya que $i tiene el valor 10.

Anterior Siguiente

Paso 5

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>

A continuación se ejecuta la instrucción de paso.

En este caso, la variable $i disminuye tres unidades, por lo que ahora vale 7.

Anterior Siguiente

Paso 6

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i es superior a 5 (vale 7), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Paso 7

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>
<p>7</p>

A continuación se ejecutan de nuevo las instrucciones del bloque.

En este caso, se imprime el texto <p>7</p> ya que $i tiene el valor 7.

Anterior Siguiente

Paso 8

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>
<p>7</p>

A continuación se ejecuta de nuevo la instrucción de paso.

En este caso, la variable $i disminuye tres unidades, por lo que ahora vale 4.

Anterior Siguiente

Paso 9

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>
<p>7</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i ya no es superior a 5 (vale 4), así que no se ejecutan las instrucciones del bloque de sentencias y el bucle se termina.

Anterior Siguiente

Paso 10

<?php
print "<p>Comienzo</p>\n";
for ($i = 10; $i > 5; $i = $i - 3) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>10</p>
<p>7</p>
<p>Final</p>

Una vez terminado el bucle, se ejecuta la instrucción que sigue al bucle.

En este caso, imprime el párrafo final.

Anterior


Nada impide que la variable de control del bucle se modifique en el cuerpo del bucle, pero eso puede afectar al número de veces que se ejecuta el bucle:

Ejemplo de bucle 4

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>Final</p>

Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y retroceso situados abajo a la derecha.

Siguiente

Paso 1

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

Se ejecuta la primera instrucción del programa.

En este caso, imprime el párrafo de comienzo.

Anterior Siguiente

Paso 2

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se ejecuta el bucle. El primer paso es dar el valor inicial a la variable de control.

En este caso, la variable de control es $i y toma el valor 1.

Anterior Siguiente

Paso 3

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se comprueba que la condición de continuación se cumple.

En este caso, $i es inferior a 6 (vale 1), así que se pasa a ejecutar las instrucciones del bloque de sentencias.

Anterior Siguiente

Paso 4

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>

A continuación se ejecutan las instrucciones del bloque.

En este caso, se imprime el texto <p>1</p> ya que $i tiene el valor 1.

Anterior Siguiente

Paso 5

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>

A continuación se aumenta la variable de control.

En este caso, la variable $i aumenta tres unidades, por lo que ahora vale 4.

Anterior Siguiente

Paso 6

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>

A continuación se ejecuta la instrucción de paso.

En este caso, la variable $i aumenta dos unidades, por lo que ahora vale 6.

Anterior Siguiente

Paso 7

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>

A continuación se comprueba de nuevo que la condición de continuación se cumple.

En este caso, $i ya no es inferior a 6 (vale 6), así que no se ejecutan las instrucciones del bloque de sentencias y el bucle se termina.

Anterior Siguiente

Paso 8

<?php
print "<p>Comienzo</p>\n";
for ($i = 1; $i < 6; $i = $i + 2) {
    print "<p>$i</p>\n";
    $i = $i + 3;
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>1</p>
<p>Final</p>

Una vez terminado el bucle, se ejecuta la instrucción que sigue al bucle.

En este caso, imprime el párrafo final.

Anterior

Bucles incorrectos

El problema más importante que podemos tener con los bucles es crear un bucle infinito, es decir, un bucle que no se termine nunca. Esto ocurre cuando la condición de continuación se cumple siempre. En estos casos, el servidor no enviaría nunca la página al navegador ni sería capaz de responder a nuevas peticiones. Si se ejecuta un programa que contenga un bucle infinito, a veces se puede recuperar la situación deteniendo la página en el navegador, otras veces se puede detener el servidor Apache desde el panel de control de xampp, pero normalmente no queda más remedio que finalizar el proceso (en Windows, habría que hacerlo con el Administrador de Tareas, finalizando el proceso httpd.exe) y reiniciar el servidor.

El bucle infinito se puede provocar de varias maneras:

Otro problema con los bucles puede ser que la expresión de continuación no se cumpla nunca, lo que provoca que el bucle no se ejecute (este problema es menos grave que el anterior porque no perjudicaría al servidor, pero seguramente provocará que el programa no funcione como se espera):

Ejemplo de bucle incorrecto 4

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i > 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>Final</p>

Puede ver la ejecución paso a paso de este programa utilizando los iconos de avance y retroceso situados abajo a la derecha.

Siguiente

Paso 1

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i > 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

Se ejecuta la primera instrucción del programa.

En este caso, imprime el párrafo de comienzo.

Anterior Siguiente

Paso 2

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i > 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se ejecuta el bucle. El primer paso es dar el valor inicial a la variable de control.

En este caso, la variable de control es $i y toma el valor 0.

Anterior Siguiente

Paso 3

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i > 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>

A continuación se comprueba que la condición de continuación se cumple.

En este caso, $i no es superior a 3 (vale 3), así que no se ejecutan las instrucciones del bloque de sentencias y el bucle se termina.

Anterior Siguiente

Paso 4

<?php
print "<p>Comienzo</p>\n";
for ($i = 0; $i > 3; $i++) {
    print "<p>$i</p>\n";
}
print "<p>Final</p>\n";
?>
<p>Comienzo</p>
<p>Final</p>

Una vez terminado el bucle, se ejecuta la instrucción que sigue al bucle.

En este caso, imprime el párrafo final.

Anterior