ELSE
(PHP 4, PHP 5)
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 else if). ELSE IF
(PHP 4, PHP 5)
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
.
Nota: Tenga en cuenta que elseif y else if serán considerados exactamente iguales sólamente cuando se utilizan corchetes como en el ejemplo anterior. Al utilizar los dos puntos para definir las condiciones if/elseif, no debe separarse else if en dos palabras o PHP fallará con un error del interprete.
<?php
/* Método incorrecto: */
if($a > $b):
echo $a." es mayor que ".$b;
else if($a == $b): // No compilará
echo "La línea anterior provoca un error del interprete.";
endif;
/* Método correcto: */
if($a > $b):
echo $a." es mayor que ".$b;
elseif($a == $b): // Tenga en cuenta la combinación de las palabras.
echo $a." igual ".$b;
else:
echo $a." no es ni mayor que ni igual a ".$b;
endif;
?>
SWITCH
(PHP 4, PHP 5)
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