Estructuras de controlLa 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; |
Se trata en la lección Estructuras de control: bucle for
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> |
Esta o a está bajo una licencia de Creative
Commons.