Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

İpucu : PHP 'de 0 ve null ayrımı...

Konu, 'PHP' kısmında fatihhood tarafından paylaşıldı.

  1. fatihhood

    fatihhood Aktif Üye

    Kayıt:
    22 Ekim 2002
    Mesajlar:
    415
    Beğenilen Mesajlar:
    0
    Meslek:
    Software Developer
    Şehir:
    Hamunaptra
    Delikanlı BT 'ci PHP deki değişkenlerde 0 ve null 'u nasıl ayırır?

    ( Not : Php de değişken tiplerine iğrenç bir muamele yapılmaktadır. Tabi developerların Dünya Programcı Hakları Mahkemesine başvurması sonucunda bazı şeyler üretilmiştir.. Sanırım dünyada hiç bir dilde int bir değer olan 0 ile özel bir değer olan null birbirine karıştırılmıyordur... )

    PHP4 ten itibaren değişkenlerde, class ve fonksyonlardan dönen değerlerde ( ki database den dönen ve değişkenlere eşitlediğiniz değerlerdede geçerli ) 0 ve null ayrımı yapılabilmektedir.

    Aşağıdaki öğrenği çalıştırın...

    <?

    $degisken1 = 0;

    $degisken2 = null;

    if($degisken1 != $degisken2) {
    echo "örnek1 : esit değil";
    }
    else {
    echo "örnek1 : eşit";
    }
    echo "<br><br>";
    if($degisken1 !== $degisken2) {
    echo "örnek2 : esit değil";
    }
    else {
    echo "örnek2 : eşit";
    }

    ?>

    Tabi bu Php 'nin bir dingilliği olduğu için, çözümüde yine onlar getirmiş :)

    İlk örnek klasik yöntem ikincisi ise olması gereken.

    !== << ifadesini özellikle database uygulamalarında null ve 0 değerlerini ayırmak için kullanabilirsiniz.



    Not : Bu ipucunu az önce database uygulamaları bölümünde gördüğüm bir soru için yazdım...

    Saygı ve Selam ile...
     
  2. Mingitau

    Mingitau Misafir

    Biraz hızlı çeviri yapsam iyi olacak :)

    Bu konuyu ibm developerWorks da görmüştüm Amol Hatwar ın ikinci yazısını çevireceğim yakında birincisi hazır word den html olmayı bekliyor.. :(

    Bu arada iki değişken in tiplerinin aynı olduğunu anlamak için
    === operatörünü kullanabilirsiniz.(Hatırladığım kadarıyla double ya da integer ı da bu şekilde anlayabliyorduk. ;) )
    PHP:
    <?php 

    $deg1
    =TRUE;
    $deg2=1;

    if(
    $deg1===$deg2)
    {
    echo 
    "İşte hiç görünmeyecek bir yazı vah vah...";
    }
    else
    {
    echo 
    "Ne şanslıyım yaaa hep beni görecekler.  :-) ";
    }

    ?>
    dayanamadım bir tane daha yazacağım. :)

    PHP:
    <?php
    $sayim
    =3,54;
    $sayim2=$sayim;
    settype($sayiminteger);
    if(
    $sayim===$sayim2)
    {
    echo 
    "Gene görünmeyecek bir yazı cık cık....";
    }
    else
    {
    echo 
    "Gene şanslı bi yazı daha........"
    }
    ?>
     
    Son düzenleme yönetici tarafından yapıldı: 31 Ekim 2002