elseif/else if

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

elseif, isminden de anlaşılacağı gibi, if ve else deyimlerinin biraraya gelmesiyle oluşur. else gibi, orijinal if ifadesinin false döndürdüğü durumda farklı bir deyimin çalıştırılması için kullanılır. Ancak, else'ten farklı olarak, ilgili deyimi sadece kendisine ait koşullu ifade true değerini döndürdüğü takdirde çalıştıracaktır. Örneğin, aşağıdaki kod a büyüktür b, a eşittir b ya da a küçüktür b iletisini görüntüleyecektir:

<?php
if ($a > $b) {
echo
"a büyüktür b";
} elseif (
$a == $b) {
echo
"a eşittir b";
} else {
echo
"a küçüktür b";
}
?>

Aynı if deyimine ait birden çok elseif bulunabilir. İlk önce hangi elseif deyimi true değerini döndürürse (eğer döndüren varsa) o deyim çalıştırılır. Bu deyim 'elseif' biçiminde tek sözcük olarak kullanılabileceği gibi, 'else if' biçiminde iki sözcük olarak da kullanılabilir, sonuç aynı olacaktır. Sözdiziminin anlamlandırılması açısından küçük bir farklılık olsa da (C dilinde de böyledir) sonuç olarak her ikisi de aynı sonucu üretecektir.

elseif ifadesi yalnızca kendisinden önceki if ifadesi ve bu ifadeye bağlı kendisinden önce gelen diğer tüm elseif ifadeleri false ile sonuçlandığında çalıştırılır ve true olarak değerlendirilir.

Bilginize: elseif (tek sözcük) ve else if (iki sözcük), yukarıdaki örnekten anlaşılacağı üzere sadece kaşlı ayraçlar kullanıldığı zaman tamamen aynı şekilde ele alınır. if ve elseif için iki noktalı sözdizimi kullanıldığında elseif iki sözcüğe ayrılmamalıdır, yoksa PHP bir çözümleme hatası vererek başarısız olur.

<?php


if ($a > $b):
echo
$a." büyüktür ".$b;
else if (
$a == $b): // Bu derlenmez.
echo "Üstteki satır bir çözümleme hatasına yol açar.";
endif;



if ($a > $b):
echo
$a." büyüktür ".$b;
elseif (
$a == $b): // Sözcüklerin birleşik oluşuna dikkat!
echo $a." eşittir ".$b;
else:
echo
$a." ne büyük ne de eşittir ".$b;
endif;

?>
To Top