# Estructuras de control

## if ... elseif ... else

La construcción if permite condicionar la ejecución de un bloque de sentencias al cumplimiento de una condición.

La sintaxis de la construcción if más sencilla es la siguiente:

    if (expresión) {
        bloque_de_sentencias
    }

La expresión se evalúa siempre, si el resultado es TRUE se ejecuta el bloque de sentencias y si el resultado es FALSE no se ejecuta el bloque de sentencias.

La construcción if se puede complicar añadiendo la instrucción else:

    if (expresión) {
        bloque_de_sentencias_1
    } else {
        bloque_de_sentencias_2
    }

La expresión se evalúa siempre, si el resultado es TRUE se ejecuta solamente el bloque de sentencias 1 y si el resultado es FALSE se ejecuta solamente el bloque de sentencias 2.

La construcción if ... else se puede complicar añadiendo la instrucción elseif:

    if (expresión_1) {
        bloque_de_sentencias_1
    } elseif (expresión_2) {
        bloque_de_sentencias_2
    } else {
        bloque_de_sentencias_3
    }

La expresión 1 se evalúa siempre, si el resultado es TRUE se ejecuta solamente el bloque de sentencias 1 y solamente si el resultado es FALSE se evalúa la expresión 2, si el resultado de esta es TRUE se ejecuta solamente el bloque de sentencias 2 y si el resultado es FALSE se ejecuta solamente el bloque de sentencias 3. En cualquier caso solamente se ejecuta uno de los tres bloques de sentencias.

Se pueden añadir tantas instrucciones elseif como se desee, teniendo en cuenta que en cualquier caso solamente se ejecuta uno de los bloques de sentencias.

    if (expresión_1) {
        bloque_de_sentencias_1
    } elseif (expresión_2) {
        bloque_de_sentencias_2
    } elseif (expresión_3) {
        bloque_de_sentencias_3
     ...
    } elseif (expresión_n) {
        bloque_de_sentencias_n
    } else {
        bloque_de_sentencias_n+1
    }

La construcción

    if (expresión_1) {
        $variable = expresion1;
    } else
        $variable = expresion2;
    }

se puede sustituir por la construcción:

    $variable = (expresión_1)? expresion1 : expresion2;

Volver al principio de la página

## for

Se trata en la lección Estructuras de control: bucle for

Volver al principio de la página

## while / do ... while

Volver al principio de la página

## foreach

El bucle foreach es muy útil para recorrer matrices cuyo tamaño se desconoce o matrices cuyos índices no son correlativos o numéricos.

La sintaxis del bucle foreach más simple es la siguiente:

    foreach ($matriz as $valor) {
        bloque_de_sentencias
    }

El bucle ejecuta el bloque de sentencias tantas veces como elementos contenga la matriz $matriz y, en cada iteración, la variable $valor toma uno de los valores de la matriz.

En el ejemplo siguiente se define una matriz y se imprimen sus valores:

    <?php
    $matriz = array(0, 1, 10, 100, 1000);
    foreach ($matriz as $valor) {
        print "<p>$valor</p>\n";
    }
    ?>
| <p>0</p> <p>1</p> <p>10</p> <p>100</p> <p>1000</p>

La sintaxis del bucle foreach puede también ser la siguiente:

    foreach ($matriz as $indice => $valor) {
        bloque_de_sentencias
    }

El bucle ejecuta el bloque de sentencias tantas veces como elementos contenga la matriz $matriz y, en cada iteración, la variable $valor toma uno de los valores de la matriz y la variable $indice toma como valor el índice correspondiente. Esta construcción es muy útil

En el ejemplo siguiente se define una matriz asociativa y se imprimen sus valores:

    <?php
    $matriz = array ('red' => 'rojo', 'green' => 'verde', 'blue' => 'azul');
    foreach ($matriz as $indice => $valor) {
        print "<p>$indice : $valor</p>\n";
    }
    ?>
| <p>red : rojo</p> <p>green : verde</p> <p>blue : azul</p>

Volver al principio de la página

## switch

Volver al principio de la página

Esta o a está bajo una licencia de Creative Commons.