PHP If Else Koşul Yapısı
Programlama dillerinde karar mekanizmaları, yazılımın farklı durumlara göre farklı işlemler gerçekleştirmesini sağlar. PHP’de if else koşul yapısı, belirli bir koşulun doğruluğuna göre kod bloklarının çalıştırılmasını kontrol eder. Bu yapı sayesinde, kullanıcı girdilerini işleyebilir, mantıksal kontroller yapabilir ve dinamik bir program akışı oluşturabilirsiniz.
Bu yazıda, if else yapısının temel kullanımını, çeşitli örneklerle birlikte nasıl çalıştığını öğreneceksiniz. Ayrıca, elseif yapısı, mantıksal operatörler ve daha kısa bir ifade yöntemi olan ternary operatörün kullanımını da detaylıca inceleyeceğiz.
1. If-Else Yapısının Temelleri
PHP’de if-else yapısı, bir koşulun doğru olup olmadığını kontrol eder. Eğer koşul doğruysa (true
), if
bloğu çalışır; değilse (false
), else
bloğu çalışır.
Sözdizimi (Syntax):
1 2 3 4 5 | if (koşul) { // Eğer koşul doğruysa bu blok çalışır } else { // Eğer koşul yanlışsa bu blok çalışır } |
Örnek:
Bir sayının pozitif, negatif veya sıfır olup olmadığını kontrol edelim:
1 2 3 4 5 6 7 8 9 | $sayi = 0; if ($sayi > 0) { echo "Sayı pozitiftir."; } elseif ($sayi < 0) { echo "Sayı negatiftir."; } else { echo "Sayı sıfırdır."; } |
Kod çıktısı:
1 | Sayı sıfırdır. |
Açıklama:
$sayi > 0
koşulu doğruysa “Sayı pozitiftir.” yazdırılır.$sayi < 0
koşulu doğruysa “Sayı negatiftir.” yazdırılır.- Hiçbiri doğru değilse “Sayı sıfırdır.” yazdırılır.
3. PHP’de Elseif Kullanımı
Birden fazla koşulu kontrol etmek için elseif
kullanılır.
Örnek:
Bir öğrencinin notunu değerlendirip harf notu veren bir sistem yazalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $puan = 85; if ($puan >= 90) { echo "Harf Notu: A"; } elseif ($puan >= 80) { echo "Harf Notu: B"; } elseif ($puan >= 70) { echo "Harf Notu: C"; } elseif ($puan >= 60) { echo "Harf Notu: D"; } else { echo "Harf Notu: F"; } |
Kod çıktısı:
1 | Harf Notu: B |
4. PHP’de Mantıksal Operatörlerle If Kullanımı
Mantıksal operatörler (&&
, ||
, !
), birden fazla koşul üzerinde işlem yapmak için kullanılır.
Örnek:
Bir kullanıcının hem yaşını hem de üye olup olmadığını kontrol eden bir sistem:
1 2 3 4 5 6 7 8 | $yas = 20; $uye = true; if ($yas >= 18 && $uye) { echo "Üyeliğiniz aktiftir ve yetişkinsiniz."; } else { echo "Şartları sağlamıyorsunuz."; } |
Kod çıktısı:
1 | Üyeliğiniz aktiftir ve yetişkinsiniz. |
Açıklama:
$yas >= 18
ve$uye
doğruysa mesaj yazdırılır.- Şartlardan biri yanlışsa diğer mesaj gösterilir.
5. Nested If (İç İçe If Kullanımı)
Nested If, bir if bloğu içinde başka bir if bloğu kullanılarak daha detaylı ve çok katmanlı kontroller yapmamıza olanak tanır. Bu yöntem, bir koşul sağlandıktan sonra daha spesifik bir kontrol yapılması gerektiğinde kullanılır.
Örnek:
Bir çalışanın tecrübe ve performansına bağlı olarak maaş artırımı yapılacak mı kontrol eden bir sistem yazalım:
1 2 3 4 5 6 7 8 9 10 11 12 | $tecrube = 5; // yıl $performans = "iyi"; if ($tecrube > 3) { // Tecrübe 3 yıldan fazla mı? if ($performans == "iyi") { // Performans seviyesi "iyi" mi? echo "Maaşınız artırılacak."; } else { echo "Performans yetersiz."; } } else { echo "Tecrübeniz yetersiz."; } |
Kod çıktısı:
1 | Maaşınız artırılacak. |
Açıklama:
- İlk olarak, çalışanın tecrübesi 3 yıldan fazla mı kontrol edilir.
- Eğer
$tecrube > 3
koşulu doğruysa, ikinci bir kontrol yapılır.
- Eğer
- İkinci kontrol, çalışanın performans seviyesinin “iyi” olup olmadığını kontrol eder.
- Eğer
$performans == "iyi"
koşulu doğruysa, “Maaşınız artırılacak.” mesajı gösterilir. - Aksi halde “Performans yetersiz.” mesajı yazdırılır.
- Eğer
- Eğer ilk koşul (tecrübe kontrolü) yanlışsa, “Tecrübeniz yetersiz.” mesajı yazdırılır.
6. Ternary Operatör ile Kısa Koşullar
Ternary operatör, if-else yapılarını daha kısa bir şekilde yazmamıza olanak tanır. Bu operatör, genellikle basit kontroller için tercih edilir ve kodun okunabilirliğini artırır.
Sözdizimi:
1 | koşul ? doğruysa_bu : yanlışsa_bu; |
Örnek:
Bir sayının çift mi, tek mi olduğunu kontrol eden bir örnek yazalım:
1 2 3 4 | $sayi = 8; // Ternary operatör kullanımı echo ($sayi % 2 == 0) ? "Sayı çifttir." : "Sayı tektir."; |
Kod çıktısı:
1 | Sayı çifttir. |
Açıklama:
( $sayi % 2 == 0 )
koşulu, sayının 2’ye bölündüğünde kalanının 0 olup olmadığını kontrol eder.- Eğer doğruysa (
true
),"Sayı çifttir."
mesajı yazdırılır. - Eğer yanlışsa (
false
),"Sayı tektir."
mesajı yazdırılır.
- Eğer doğruysa (
- Bu operatör, daha kısa ve anlaşılır bir şekilde basit karar yapıları oluşturmanıza yardımcı olur.
Not:
Ternary operatör, yalnızca basit kontroller için uygundur. Daha karmaşık karar mekanizmalarında if-else
kullanılması tavsiye edilir.
PHP’de koşullar ve if-else yapısı, programın akışını kontrol etmek için hayati önem taşır. Bu yazıda, temel if-else
yapısından, elseif
, mantıksal operatörler ve ternary operatöre kadar tüm detayları ele aldık.