PHP’de karar yapıları, programın belirli bir koşula göre farklı yollar izlemesini sağlar.
Örneğin, bir kullanıcının yaşına göre erişim izni vermek veya bir formun eksik alanlarını kontrol etmek için kullanılır.
En yaygın kullanılan karar yapıları:
- if-else
- switch-case
- Ternary (Üçlü) Operatörü
- match (PHP 8 ve sonrası)
Şimdi bunları detaylıca ele alalım.
2. if – else Yapısı
PHP’de if-else yapısı, belirli bir koşul doğruysa (true) belirli bir kod bloğunu çalıştırır, değilse başka bir kod bloğuna geçer.
📌 Genel Kullanım:
if (koşul) {
// Koşul doğruysa çalışacak kod
} else {
// Koşul yanlışsa çalışacak kod
}
📌 Örnek: Kullanıcının yaşına göre erişim kontrolü
<?php
$yas = 18;
if ($yas >= 18) {
echo "Giriş yapabilirsiniz.";
} else {
echo "Üzgünüm, giriş yapamazsınız.";
}
?>
💡 Açıklama:
- Eğer
$yas
değişkeni 18 veya daha büyükse, “Giriş yapabilirsiniz.” yazılır. - Değilse, “Üzgünüm, giriş yapamazsınız.” mesajı ekrana gelir.
if – else if – else Kullanımı
Birden fazla koşulu kontrol etmek için else if kullanılabilir.
📌 Örnek: Not sistemine göre değerlendirme
<?php
$not = 85;
if ($not >= 90) {
echo "Pekiyi";
} elseif ($not >= 75) {
echo "İyi";
} elseif ($not >= 50) {
echo "Orta";
} else {
echo "Başarısız";
}
?>
💡 Açıklama:
- 90 ve üzeri → “Pekiyi”
- 75 – 89 arası → “İyi”
- 50 – 74 arası → “Orta”
- 50’den düşükse → “Başarısız”
3. switch-case Yapısı
switch-case yapısı, çok fazla if-else bloğu yazmak yerine daha düzenli bir yapı sağlar.
📌 Genel Kullanım:
switch (değişken) {
case değer1:
// Çalışacak kod
break;
case değer2:
// Çalışacak kod
break;
default:
// Hiçbiri eşleşmezse çalışacak kod
}
📌 Örnek: Gün ismini yazdırma
<?php
$gun = "Salı";
switch ($gun) {
case "Pazartesi":
echo "Haftanın ilk günü!";
break;
case "Salı":
echo "Bugün Salı!";
break;
case "Çarşamba":
echo "Haftanın ortası.";
break;
default:
echo "Bilinmeyen gün!";
}
?>
💡 Açıklama:
$gun
değeri Salı olduğunda “Bugün Salı!” yazdırılır.- default bloğu, hiçbir case eşleşmezse çalışır.
4. Ternary (Üçlü) Operatörü
if-else yerine daha kısa bir yazım kullanmak için ternary operatörü (? :
) kullanılır.
📌 Örnek:
<?php
$yas = 20;
$mesaj = ($yas >= 18) ? "Giriş yapabilirsiniz." : "Giriş yasak!";
echo $mesaj;
?>
💡 Açıklama:
- Eğer
$yas >= 18
koşulu doğruysa “Giriş yapabilirsiniz.”, - Yanlışsa “Giriş yasak!” yazdırılır.
5. match Yapısı (PHP 8 ve Sonrası)
switch-case
‘e alternatif olarak PHP 8 ile gelen match
yapısı, daha kısa ve okunaklı bir yapı sunar.
📌 Örnek:
<?php
$puan = 85;
$sonuc = match (true) {
$puan >= 90 => "Pekiyi",
$puan >= 75 => "İyi",
$puan >= 50 => "Orta",
default => "Başarısız",
};
echo $sonuc;
?>
💡 Açıklama:
match
,switch-case
gibi çalışır ama break yazmaya gerek yoktur.- Daha okunaklı bir yapı sağlar.
6. Özet ve Sonuç
PHP’de karar yapıları, programın belirli koşullara göre farklı yollar izlemesini sağlar.
Yapı | Ne Zaman Kullanılır? |
---|---|
if - else | Az sayıda koşul varsa |
if - else if - else | Birden fazla koşul varsa |
switch-case | Çok fazla sabit değer kontrol ediliyorsa |
Ternary Operatörü | Kısa ve basit bir koşul gerekiyorsa |
match (PHP 8) | Daha okunaklı bir switch-case alternatifi gerekiyorsa |
Karar yapıları, dinamik web uygulamalarının olmazsa olmazıdır. Koşullu ifadelerle kullanıcı giriş kontrolü, form doğrulama, rol bazlı erişim ve daha birçok işlem gerçekleştirilebilir.
🚀 PHP karar yapıları sayesinde kodlarımızı daha akıllı ve etkili hale getirebiliriz! 🚀