PHP 8'de koşul ifadeleri, bir kod parçasının belirli bir koşula bağlı olarak çalışmasını sağlamak için kullanılır. Koşul ifadeleri, belirli bir durumun true
veya false
olup olmadığını kontrol ederek farklı işlemler gerçekleştirebilir. PHP'de kullanılan koşul ifadeleri arasında if
, else
, elseif
, switch
ve match
gibi yapılar bulunur.
1.
if
Koşul İfadesi
if
ifadesi, belirli bir koşulun doğru olup olmadığını kontrol eder. Eğer koşul true
ise, if bloğundaki kod çalışır.
Sözdizimi:
if (koşul) {
// Koşul doğruysa bu kod çalışır
}
Örnek:
$age = 18;
if ($age >= 18) {
echo "Reşitsiniz.";
}
2.
else
Koşul İfadesi
else
ifadesi, if
koşulu false
olduğunda çalıştırılacak kodu belirtir.
Sözdizimi:
if (koşul) {
// Koşul doğruysa bu kod çalışır
} else {
// Koşul yanlışsa bu kod çalışır
}
Örnek:
$age = 16;
if ($age >= 18) {
echo "Reşitsiniz.";
} else {
echo "Reşit değilsiniz.";
}
3.
elseif
Koşul İfadesi
elseif
, birden fazla koşulu kontrol etmek için kullanılır. Eğer ilk if
koşulu false
ise, elseif
ile başka bir koşul kontrol edilebilir.
Sözdizimi:
if (koşul1) {
// Koşul1 doğruysa bu kod çalışır
} elseif (koşul2) {
// Koşul2 doğruysa bu kod çalışır
} else {
// Hiçbiri doğru değilse bu kod çalışır
}
Örnek:
$age = 20;
if ($age < 18) {
echo "Reşit değilsiniz.";
} elseif ($age >= 18 && $age <= 25) {
echo "Genç bir yetişkinsiniz.";
} else {
echo "Yetişkinsiniz.";
}
4.
switch
Koşul İfadesi
switch
, bir değişkenin farklı durumlarını kontrol etmek için kullanılır. Birçok if-else
ifadesi kullanmak yerine daha temiz ve okunabilir bir çözüm sunar.
Sözdizimi:
switch (değer) {
case koşul1:
// koşul1 doğruysa bu kod çalışır
break;
case koşul2:
// koşul2 doğruysa bu kod çalışır
break;
default:
// Hiçbir koşul doğru değilse bu kod çalışır
}
Örnek:
$day = "Pazartesi";
switch ($day) {
case "Pazartesi":
echo "Haftanın ilk günü.";
break;
case "Cuma":
echo "Haftanın son iş günü.";
break;
default:
echo "Hafta sonu!";
}
5.
match
İfadesi (PHP 8 ile eklenmiştir)
match
, switch
ifadesine benzer, ancak daha güçlü ve esnek bir yapı sunar. match
, sonuç döndürür ve tip güvenliği sağlar. match
ile dönüş değeri daha temiz bir şekilde yazılabilir.
Sözdizimi:
$result = match (değer) {
koşul1 => değer1,
koşul2 => değer2,
default => varsayılanDeğer
};
Örnek:
$day = "Pazartesi";
$message = match ($day) {
"Pazartesi" => "Haftanın ilk günü.",
"Cuma" => "Haftanın son iş günü.",
default => "Hafta sonu!"
};
echo $message;
6. Ternary (Üçlü) Operatörü
Ternary operatörü, kısa bir if-else
ifadesidir ve genellikle basit koşullar için kullanılır. Tek bir satırda yazılabilir.
Sözdizimi:
koşul ? true ise bu : false ise bu;
Örnek:
$age = 20;
echo ($age >= 18) ? "Reşitsiniz." : "Reşit değilsiniz.";
7. Null Birleştirme Operatörü (??
)
Bu operatör, bir değişkenin var olup olmadığını ve null
olup olmadığını kontrol eder. Eğer değişken yoksa veya null ise sağındaki değeri döner.
Sözdizimi:
$deger = $degisken ?? "Varsayılan değer";
Örnek:
$username = $_POST['username'] ?? 'Misafir';
echo $username; // Eğer 'username' POST edilmediyse 'Misafir' yazdırılır.
Örnek Uygulama
$hour = 10;
if ($hour < 12) {
echo "Günaydın!";
} elseif ($hour < 18) {
echo "İyi günler!";
} else {
echo "İyi akşamlar!";
}
$day = "Pazartesi";
$message = match ($day) {
"Pazartesi" => "Haftanın ilk günü.",
"Cuma" => "Haftanın son iş günü.",
default => "Hafta sonu!"
};
echo $message;
Özet:
-
if
,else
,elseif
: Belirli koşulları kontrol eder. -
switch
: Bir değerin birçok durumunu kontrol eder. -
match
: PHP 8 ile gelen, daha esnek ve kısa koşul ifadeleri sunan yapı. - Ternary operatörü: Tek satırda basit koşullar için kullanılır.
-
Null birleştirme operatörü (
??
): Değişkeninnull
olup olmadığını kontrol eder.
Bu koşul yapıları, program akışını kontrol etmek ve belirli durumlara göre farklı işlemler gerçekleştirmek için güçlü araçlar sağlar.