PHP == ile === Arasındaki Fark

tarafından
PHP  == ile === Arasındaki Fark

Php ‘de bir değerin başka bir değere eşit olup olmadığını operatör kullanarak kontrol ettirebiliyoruz. Bunu yaparken karşınıza aşağıdaki genellikle gibi bir kod çıkar.

$sayi = 4;
if ($sayi == 4){
echo "sayı 4 'e eşit";
}

Yukarıdaki kodda her yerde göreceğiniz klasik bir eşitlik kontrolü var. Ama bazen karşınıza denktir ( === ) çıkabilir. Peki bu ne demek onu açıklayalım. Yukarıdaki kodumuzu aşağıdaki şekilde yazalım sizce çalışır mı ?

$sayi = "4";
if ($sayi == 4){
echo "sayı 4 'e eşit";
}

Yukarıdaki kodda biz kodumuzda $sayi değişkenini string tanımladık ama if ile kontrol ederken integer olarak yazdık. Değeri eşit olmasına rağmen değişken tipleri farklı. ==  operatörünü kullanırken bu bir sorun değildir çünkü eşittir( == ) operatörü değeri kontrol eder değişkenin tipine bakmaz.

Eğer biz === operatörü kullanırsak bunun anlamı hem değeri hemde değişkenin tipinin aynı olması gerektiğidir. Yani aşağıdaki kodda else bloğu devreye girer.

$sayi = "4";
if ($sayi == 4){
echo "sayı 4 'e eşit ve tipleri aynı.";
}else{
echo "sayı 4 e eşit değil ya da tipi farklı.";
}

Çok basit bir konu aslında. Örneklerle açıklamaya çalıştım. Sorularınızı yorum atarak sorabilirsiniz.

İlginizi Çekebilir :   PDO lastInsertId() ile Son Yazılan Id'yi Almak