Merhaba Webkolog ailesi!
Bugün PHP'deki en temel ve güçlü konulardan biri olan kontrol yapılarını inceleyeceğiz. Programlama, belirli koşullara göre farklı işlemler yapma yeteneği sayesinde dinamikleşir. İşte kontrol yapıları da tam olarak bu noktada devreye giriyor. Kodunuzun hangi durumlarda hangi yolu izleyeceğine karar vermesini sağlayan bu yapılar, uygulamalarınızı akıllı ve tepkisel hale getirir. Hadi gelin, bu yapıları yakından tanıyalım!
1. Koşullu İfadeler: If, Else If, Else
Koşullu ifadeler, belirli bir şartın doğru olup olmamasına göre kod bloklarını çalıştırmamızı sağlar. En temelinden en karmaşığına doğru ilerleyelim:
a. If İfadesi
Sadece bir koşulun doğruluğuna bağlı olarak bir kod bloğunu çalıştırır.
<?php
$saat = 10;
if ($saat < 12) {
echo "Günaydın!";
}
?>
b. If-Else İfadesi
Bir koşul doğruysa bir kod bloğunu, yanlışsa başka bir kod bloğunu çalıştırır.
<?php
$yas = 17;
if ($yas >= 18) {
echo "Reşitsiniz.";
} else {
echo "Reşit değilsiniz.";
}
?>
c. If-Else If-Else İfadesi
Birden fazla koşulu ardışık olarak kontrol etmek için kullanılır. Koşullardan biri doğru olduğunda ilgili blok çalışır ve diğer kontroller atlanır.
<?php
$puan = 75;
if ($puan >= 90) {
echo "Notunuz: A";
} else if ($puan >= 80) {
echo "Notunuz: B";
} else if ($puan >= 70) {
echo "Notunuz: C";
} else {
echo "Notunuz: D veya daha düşük.";
}
?>
2. Switch İfadesi
Tek bir değişkenin farklı değerlerine göre farklı kod bloklarını çalıştırmak için switch ifadesini kullanırız. Özellikle çok sayıda else if
kullanmaktan kaçınmak istediğiniz durumlarda daha okunaklı bir yapı sunar.
<?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 "Hafta ortası.";
break;
default:
echo "Diğer bir gün.";
break;
}
?>
Önemli Not: Her case
bloğunun sonunda break;
kullanmak, o koşul karşılandığında switch bloğundan çıkılmasını sağlar. Eğer break;
kullanmazsanız, kod diğer case
bloklarını da kontrol etmeye devam eder (fall-through davranışı).
3. Ternary Koşullu Operatör (Kısa If)
Basit if-else
yapılarını tek bir satırda ifade etmek için ternary operatörü kullanılır. Syntax'ı şöyledir: (koşul ? doğruysa_değer : yanlışsa_değer)
.
<?php
$yas = 20;
$mesaj = ($yas >= 18) ? "Giriş Serbest" : "Giriş Yasak";
echo $mesaj; // Çıktı: Giriş Serbest
?>
4. Kontrol Operatörleri
Kontrol yapılarında kullandığımız koşulları oluştururken, değerleri karşılaştırmak için çeşitli operatörlerden yararlanırız:
==
(Eşittir): Değerlerin eşit olup olmadığını kontrol eder. (Tür kontrolü yapmaz.)>
(Büyüktür): İlk değerin ikinci değerden büyük olup olmadığını kontrol eder.<
(Küçüktür): İlk değerin ikinci değerden küçük olup olmadığını kontrol eder.>=
(Büyük ya da eşittir): İlk değerin ikinci değerden büyük veya eşit olup olmadığını kontrol eder.<=
(Küçük ya da eşittir): İlk değerin ikinci değerden küçük veya eşit olup olmadığını kontrol eder.===
(Denktir): Değerlerin ve veri tiplerinin aynı olup olmadığını kontrol eder. Bu, daha katı bir eşitlik kontrolüdür.
<?php
$sayi = 10;
$metin = "10";
if ($sayi == $metin) { // True, çünkü değerler eşit
echo "Değerler eşit (==).<br>";
}
if ($sayi === $metin) { // False, çünkü değerler eşit ama tipler farklı (integer vs string)
echo "Değerler ve tipler denk (===).<br>";
} else {
echo "Değerler ve tipler denk değil (===).<br>";
}
?>
Küçük/Büyük Harf Duyarsız Karşılaştırma: String ifadeleri karşılaştırırken büyük/küçük harf duyarlılığını göz ardı etmek isterseniz strcasecmp()
fonksiyonunu kullanabilirsiniz. Bu fonksiyon, iki string eşitse 0 döndürür.
<?php
$str1 = "Webkolog";
$str2 = "webkolog";
if (strcasecmp($str1, $str2) == 0) {
echo "İki metin, büyük/küçük harf farkı gözetmeksizin eşittir.<br>";
} else {
echo "İki metin eşit değildir.<br>";
}
?>
Kontrol yapıları, PHP programlamada dinamiklik ve zeka katmanın temelidir. Bu yapıları ne kadar iyi anlarsanız, o kadar esnek ve güçlü uygulamalar geliştirebilirsiniz. Bol bol pratik yaparak bu konuyu iyice kavramaya çalışın!
Webkolog'u takipte kalın!
Hepinize bol kodlu ve başarılı projeler dilerim!
0 yorum:
Yorum Gönder