PHP if else, if, veya if elseif else ifadeleri ve PHP koşullu ifadeler, farklı koşullara bağlı farklı kodlar yürütmek için kullanılır. Çoğu zaman kod yazarken farklı koşullar için farklı kodlar yürütmek isteriz. Bunu yapmak için koşullu ifadeleri kullanırız.
- if : deyim/koşul doğruysa kodları yürütür
- if … else: deyim/koşul doğruysa bazı kodları, yanlışsa başka bir kodu yürütür
- if … elseif … else: deyim/ikiden fazla koşul için farklı kodlar yürütür
PHP if deyiminin söz dizimi (if syntax) aşağıdaki örnekteki gibidir.
if(condition) {
// koşul true döndürürse çalıştırılacak kodlar
} elseif (condition) {
// üstteki koşul veya koşullar false döndürürse ve bu koşul true döndürürse çalıştırılacak kodlar
} else {
// üstteki koşulların hepsi false döndürürse çalıştırılacak kodlar
}
PHP If Örneği
Aşağıdaki örnekte php if ifadesinde belirtilen koşul doğruysa if kapsam alanındaki kodları çalıştırır. Değilse elseif koşulu sorgulanır, elseif koşulu true döndürürse elseif kapsam alanındaki kodlar çalıştırılır; false döndürürse bir sonraki koşul sorgulanır. Bir sonraki koşul true döndürür ve kapsamındaki kodlar çalıştırılır. Son elseif koşulunun true döndürmesinin sebebi koşuldaki ifadenin doğru olmasıdır. $number1 değişkeni verisi (15), $number2 verisi değişkeninden büyüktür.
$number1 = 15;
$number2 = 10;
if($number1 === $number2) {
echo 'number1 değişkeni verisi ile number2 değişkeni verisi denk';
} elseif ($number1 $number2) {
echo 'number1 değişkeni verisi, number2 değişkeni verisinden daha büyük';
} else {
echo 'Tespit edilemedi';
}
// Çıktı: number1 değişkeni verisi, number2 değişkeni verisinden daha büyük
PHP ElseIf Söz Dizimi (ElseIf Syntax)
PHP elseif söz diziminde elseif birleşik yerine ayrı da yazılabilir. Ancak PSR başta olmak üzere hemen hemen tüm PHP kod standartları birleşik yazılmasını önerir. Ayrıca PHP if deyimi için alternatif söz dizimi kullanıldığında elseif deyimini ayrı yazamayız. PHP if else alternatif söz diziminde else if’i bu şekilde ayrı yazarsak php parse error düzeyinde bir hata döndürür.
$time = 18;
if($time === 9) {
echo 'Saat 9 ve şu an sabah';
} else if ($time === 12) {
// ayrı yazdık
echo 'Saat 12 ve şu an öğle';
} elseif ($time === 18) { //birleşik yazdık
echo 'Saat 18 ve şu an akşam';
} else {
echo 'Saat tespit edilemedi';
}
PHP If Alternatif Söz Dizimi (If Alternative Syntax)
PHP If deyimi başta olmak üzere kontrol yapıları için alternatif söz dizimi (alternative syntax) sunar. PHP if alternatif söz diziminde (alternative syntax) -diğer adıyla iki noktalı söz diziminde- süslü parantezler yoktur. İki nokta ve endif; vardır. Şimdi bunu bir örnekle pekiştirelim.
$number1 = 10;
$number2 = 10;
if($number1 !== $number2):
echo 'number1 değişkeni verisi ile number2 değişkeni verisi denk değil';
elseif ($number1 $number2):
echo 'number1 değişkeni verisi, number2 değişkeni verisinden daha büyük';
else:
echo 'Tespit edilemedi';
endif;
// Çıktı: Tespit edilemedi
PHP Tek Satırlık If Else Yapısı
PHP if else yapısında kapsam alanındaki kodlar tek satır ise süslü parantez kullanmak zorunlu değildir. Örnekte bunu görebiliriz.
$number1 = 10;
$number2 = 10;
if($number1 !== $number2)
echo 'number1 değişkeni verisi ile number2 değişkeni verisi denk değil';
elseif ($number1 $number2)
echo 'number1 değişkeni verisi, number2 değişkeni verisinden daha büyük';
else
echo 'Tespit edilemedi';
// Çıktı: Tespit edilemedi
PHP Sadece If Kullanımı
PHP dilinde elseif veya else koşullarına ihtiyaç yoksa sadece if kullanılabilir. Bir örnekle bunu pekiştirelim.
$number1 = 10;
$number2 = 10;
if($number1 === $number2)
echo 'number1 değişkeni verisi ile number2 değişkeni verisi denk';
// Çıktı: number1 değişkeni verisi ile number2 değişkeni verisi denk