## `elseif`/`else if`

(PHP 4, PHP 5, PHP 7, PHP 8)

`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 llaves 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 ni igual a ".$b;
endif;
?>`