PHP 8.3.21 Released!

elseif/else if

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

elseif, como su nombre indica, es una combinación de if y de else. Como la expresión else, permite ejecutar una instrucción después de un if en el caso de que el "primer" if sea evaluado como false. Sin embargo, a diferencia de la expresión else, solo ejecutará la instrucción si la expresión condicional elseif es evaluada como true. El siguiente ejemplo mostrará a es más grande que b, a es igual a b o a es más pequeño que b :

<?php
if ($a > $b) {
echo
"a es más grande que b";
} elseif (
$a == $b) {
echo
"a es igual a b";
} else {
echo
"a es más pequeño que b";
}
?>

Es posible tener varios elseif que se sigan unos a otros, después de un if inicial. El primer elseif que sea evaluado como true será ejecutado. En PHP, es posible escribir else if en dos palabras y su comportamiento será idéntico al de elseif (en una sola palabra). La semántica de las dos expresiones es ligeramente diferente (al igual que en C), pero al final, el resultado será exactamente el mismo.

La expresión elseif es ejecutada solo si el if anterior y cualquier otro elseif anterior son evaluados como false, y que su elseif es evaluado como true.

Nota: Téngase en cuenta que elseif y else if son tratados de la misma manera solo cuando se utilizan llaves, como en el ejemplo anterior. Cuando se utiliza ":" para definir sus condiciones if/elseif, el uso de elseif en una sola palabra se vuelve necesario. PHP fallará con un error de análisis si se utiliza else if.

<?php

/* Mala práctica: */
if ($a > $b):
echo
$a." es más grande que ".$b;
else if (
$a == $b): // no compilará
echo "La línea anterior provoca un error de interpretación";
endif;
<?php

/* Buena práctica: */
if ($a > $b):
echo
$a." es más grande que ".$b;
elseif (
$a == $b): // Las dos palabras están unidas
echo $a." igual ".$b;
else:
echo
$a." es más grande o igual a ".$b;
endif;

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top