(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 deyimi 'elseif' biçiminde tek
sözcük olarak kullanabileceğiniz gibi, 'else if' biçiminde iki sözcük
olarak da kullanabilirsiniz, sonuç aynı olacaktır. Sözdiziminin
anlamlandırılması açısından küçük bir farklılık olsa da (C diline
aşinaysanız, onda da 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
veelse if
, yukarıdaki örnekten anlaşılacağı üzere sadece kaşlı ayraçlar kullanıldığı zaman tamamen aynı şekilde ele alınacaktır.if
veelseif
için iki noktalı sözdizimi kullanıldığındaelseif
'i iki sözcüğe ayırmamanız gerekir, yoksa PHP bir çözümleme hatası vererek başarısız olur.
<?php
/* Yanlış Yöntem: */
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;
/* Doğru Yöntem: */
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;
?>