Volver al índice 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
}

Volver al principio


while / do ... while

Volver al principio


for

La sintaxis del bucle for es la siguiente:

for (expresión_inicial; expresión_final; expresión_paso) {
    bloque_de_sentencias
}

La expresión inicial se evalúa siempre. La expresión final se evalúa al principio de cada iteración: si el resultado es TRUE se ejecuta el bloque de sentencias y la expresión de paso y se evalúa nuevamente la expresión final; si el resultado es FALSE el bucle se termina.


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

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

Volver al principio


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


switch

Volver al principio

Esta página forma parte del curso "Páginas web con PHP" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación: 2 de febrero de 2007

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.