informaticaPC

Tutorial de PHP

Sentencias de control repetitivas o iterativas

Sentencias de control Repetitivas

En PHP disponemos de los bucles for(), do .. while() y while(). A continuación te mostramos un ejemplo este último:

<?php
    $contador = 1;

    while( $contador <= 5 )
    {
        echo "Ahora contador tiene valor [".$contador."]<br/>";
        $contador = $contador + 1;
    }

    echo "<p>Terminado</p>";
?>

Descargar ejemplo

EXPLICACIÓN: declaramos la variable '$contador' y la inicializamos con un valor de 1. En cada repetición del bucle se irá mostrando su valor y lo incrementamos en 1. Al procesarse la última línea de código en el bucle se volverá a evaluar la expresión del while(), repitiéndose el proceso mientras la variable posea un valor menor o igual a 5.

Observa que con el punto '.' también podemos concatenar (unir) cadenas de texto con el valor de las variables.

Veamos ahora un ejemplo de bucle do ... while():

<?php
    $contador = 1;

    do
    {
        echo "Ahora contador tiene valor [$contador]<br/>";
        $contador = $contador + 1;
    } while( $contador <= 5 );

    echo "<p>Terminado</p>";
?>

Descargar ejemplo

La diferencia entre los bucles while() y do ... while() es que en este último la comprobación de la condición se realiza al final (el código dentro del mismo se procesará al menos una vez), mientras que con while() la comprobación se realiza al principio del mismo.

También disponemos del bucle for():

<?php
    $contador;

    for($contador=1; $contador <= 5; $contador++ )
    {
        echo "Ahora contador tiene valor [".$contador."]<br/>";
    }

    echo "<p>Terminado</p>";
?>

Descargar ejemplo

EXPLICACIÓN: declaramos una variable '$contador' que inicializamos a 1 en la primera sección del mismo bucle for(). En la segunda sección especificamos la condición exigida para que se continúe repitiendo el bucle (en nuestro ejemplo, que '$contador' tenga un valor menor o igual a 5), y en la tercera sección indicamos el incremento que se aplicará a dicha variable cada vez que se procese el mismo, pudiendo ser también negativo (en nuestro ejemplo se incrementará en 1).

Otro ejemplo, en el que el incremento se hace de dos en dos (se mostrarán los números 1, 3, 5):

<?php
    $contador;

    for( $contador=1; $contador <= 5; $contador=$contador+2 )
    {
        echo "Ahora contador tiene valor [$contador]<br/>";
    }

    echo "<p>Terminado</p>";
?>

Descargar ejemplo

Para forzar la salida de un bucle (aunque se cumpla la condición indicada) usaremos break, como puedes ver el siguiente ejemplo:

<?php
    $contador;

    for( $contador=1; $contador <= 5; $contador++ )
    {
        echo "Ahora contador vale [".$contador."]<br/>";

        if( $contador == 3) {
            break;
        }
    }

    echo "<p>Terminado</p>";
?>

Descargar ejemplo

EXPLICACIÓN: cuando la variable '$contador' tenga un valor de 3 se entrará en el if() y al procesar el break se saldrá inmediatamente del bucle for() (con lo que sólo se mostrarán los números 1, 2 y 3).

Otra instrucción que podemos usar es continue, con la cual forzamos que se vuelva a evaluar la expresión del bucle sin procesar el resto del código del mismo (en este caso usando for() se realiza el incremento de la variable $contador). Por ejemplo:

<?php
    $contador;

    for( $contador=1; $contador <= 5; $contador++ )
    {
        if( $contador == 3 )
            continue;

        echo "Ahora contador vale [".$contador."]<br/>";
    }

    echo "<p>Terminado</p>";
?>

Descargar ejemplo

EXPLICACIÓN: cuando la variable '$contador' tenga un valor de 3 se volverá a la línea en que se evalúa el bucle sin procesar el alert(), con lo que sólo se mostrarán los números 1, 2, 4 y 5.

En PHP existe también un bucle foreach() que veremos más adelante y es usado por para recorrer propiedades de objetos y elementos de arrays.

Más información

Vea también: [ while() ] - [ do ... while() ] - [ for() ] - [ foreach() ] - [ break ] - [ continue ]

Primera página Anterior Siguiente Última página
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso