cihankp adlı üyeden alıntı: mesajı görüntüle
Merhaba hocam, öncelikle buradaki kaynağı inceleyebilirsiniz; ilgili kısım ise:
" 'a string' == 0 also evaluates to true because any string is converted into an integer when compared with an integer. If PHP can't properly convert the string then it is evaluated as 0. So 0 is equal to 0, which equates as true."
çevirisi:
"'a string' == 0 da true olarak değerlendirilir, çünkü herhangi bir dize bir tamsayı ile karşılaştırıldığında bir tamsayıya dönüştürülür. PHP dizeyi düzgün bir şekilde dönüştüremezse 0 olarak değerlendirilir. Yani 0, 0'a eşittir, bu da true anlamına geldiği için if bloğu çalışır."
Evet sanırım tam olarak bu, detaylı açıklama için çok teşekkür ediyorum. Öğrenilecek daha çok şey var



Seyit25 adlı üyeden alıntı: mesajı görüntüle
Yazdığınız kod bunla eş değer
<?php
$r = 'x';
$y =0;

if ($r) {
echo 'Eşitler';
} else
echo 'Eşit değiller';

Yani $y=0 demek true demek. O yüzden eşitler çıkıyor
İşte hocam ben 0 ın davranış biçimini sıradan bir integer gibi düşündüğüm için başta kafam yandı.