9 Kasım 2013 Cumartesi

PHP: Kisa If Else yontemi - Ternary Operatoru



                   Uygulama geliştirirken döngüleri, diğer bir deyişle koşulları değerlendirirken If/Else ve Switch/Case ifadelerini kullanmak gerekir. Aslında If/Else gereksinimleri karşılar fakat tek satırda halledeceğimiz birşey için köşeli parantezlere boğulmaya ne gerek var?



                   Ternary operatöründe önce koşul yazılır. Soru işareti konduktan sonra koşulun doğru olduğunda (if) dönecek değer girilir ve : konur. Daha sonra koşulun yanlış olması durumunda (else) döndürelecek değer girilerek sonlandırılır.

  • (Koşul) ? (Doğruysa döndürülecek değer) : (Yanlışsa döndürülecek değer)
Örnek;
  • $renk="beyaz" ;
  • $renk_beyaz_mi = ($renk == "beyaz" ? true : false)
Şartları biraz daha artırıp elseif içeren bir koşul deneyelim;
$saat=17;
echo "Merhaba, İyi ".($saat<12 ? "Sabahlar" : ($saat>19 ? "Akşamlar" : "Günler"));
$saat=20;
echo "<br />Merhaba, İyi ".($saat<12 ? "Sabahlar" : ($saat>19 ? "Akşamlar" : "Günler"));
$saat=10;
echo "<br />Merhaba, İyi ".($saat<12 ? "Sabahlar" : ($saat>19 ? "Akşamlar" : "Günler"));