(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) veelse 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.ifveelseifiçin iki noktalı sözdizimi kullanıldığındaelseifiki sözcüğe ayrılmamalıdır, 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;
?>