· Estructuras Condicionales
o If
El constructor if es una de las
características más importantes de muchos lenguajes, incluido PHP. Permite la
ejecución condicional de fragmentos de código. PHP dispone de una estructura if que es similar a la de C. Como
se describe en la sección sobre expresiones , la expresión es evaluada a su
valor booleano. Si la expresión se evalúa como TRUE, PHP ejecutará la sentencia
y si se evalúa como FALSE la ignorará. Más información sobre qué valores
evalúan como FALSE se puede encontrar en la sección 'Convirtiendo a booleano'.
El siguiente ejemplo mostraría a es mayor que b si $a
es mayor que $b:
<?php
if ($a > $b) {
echo "a
es mayor que b";
}
?>
o Else
Con frecuencia se desea ejecutar una sentencia si una
determinada condición se cumple y una sentencia diferente si la condición no se
cumple. Esto es para lo que sirve else. El else extiende una sentencia if para
ejecutar una sentencia en caso que la expresión en la sentencia if se evalúe
como FALSE. Por ejemplo, el siguiente código deberá mostrar a es mayor que b si
$a es mayor que $b y a NO es mayor que b en el caso contrario:
<?php
if ($a > $b) {
echo "a
es mayor que b";
} else {
echo "a
NO es mayor que b";
}
?>
La sentencia else sólo es ejecutada si la expresión if
es evaluada como FALSE y si hay algunas expresiones elseif - sólo se ejecuta si
también todas son evaluadas como FALSE (ver elseif).
o Elseif
elseif, como su nombre lo sugiere, es una combinación
de if y else. Del mismo modo que else, extiende una sentencia if para ejecutar
una sentencia diferente en caso que la expresión if original se evalúe como
FALSE. Sin embargo, a diferencia de else, esa expresión alternativa sólo se
ejecutará si la expresión condicional del elseif se evalúa como TRUE. Por
ejemplo, el siguiente código debe mostrar a es mayor que b, a es igual que b o
a es menor que b:
<?php
if ($a > $b) {
echo "a
es mayor que b";
} elseif ($a == $b) {
echo "a
es igual que b";
} else {
echo "a
es menor que b";
}
?>
Puede haber varios elseif dentro de la misma sentencia
if. La primera expresión elseif (si hay alguna) que se evalúe como TRUE sería
ejecutada. En PHP también se puede escribir 'else if' (en dos palabras) y el
comportamiento sería idéntico al de 'elseif' (en una sola palabra). El significado
sintáctico es ligeramente diferente (si se está familiarizado con C, este es el
mismo comportamiento) pero la conclusión es que ambos resultarían tener
exactamente el mismo comportamiento.
La sentencia elseif es ejecutada solamente si la expresión
if precedente y cualquiera de las expresiones elseif precedentes son evaluadas
como FALSE, y la expresión elseif actual se evalúa como TRUE.
o Switch
La sentencia switch es similar a una serie de
sentencias IF en la misma expresión. En muchas ocasiones, es posible que se
quiera comparar la misma variable (o expresión) con muchos valores diferentes,
y ejecutar una parte de código distinta dependiendo de a que valor es igual.
Para esto es exactamente la expresión switch.
Nota: Cabe señalar que a diferencia de algunos otros lenguajes, la sentencia continue se aplica a switch y actúa de manera similar a break. Si se tiene un switch dentro de un bucle y se desea continuar a la siguiente iteración de del ciclo exterior, se utiliza continue 2.
Nota:Tener en cuenta que switch/case hace comparaciones flexibles.
Los dos ejemplos siguientes son dos formas diferentes
de escribir lo mismo, uno con una serie de sentencias if y elseif, y el otro
usando la sentencia switch:
Ejemplo
#1 Estructura switch
<?php
if
($i == 0) {
echo "i es igual a 0";
}
elseif ($i == 1) {
echo "i es igual a 1";
} elseif ($i == 2) {
echo "i
es igual a 2";
}
switch
($i) {
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
}
?>
No hay comentarios:
Publicar un comentario