• 15-06-2020, 00:37:59
    #10
    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ı.
  • 15-06-2020, 00:43:25
    #11
    Abdullahx adlı üyeden alıntı: mesajı görüntüle
    Evet sanırım tam olarak bu, detaylı açıklama için çok teşekkür ediyorum. Öğrenilecek daha çok şey var




    İşte hocam ben 0 ın davranış biçimini sıradan bir integer gibi düşündüğüm için başta kafam yandı.
    Evet Php diğer diller gibi değil.