1. 程式人生 > >isset和empty有什麼區別? (PHP面試題)

isset和empty有什麼區別? (PHP面試題)

      1)如何檢測一個變數是否被定義 ; 

            isset為假    1,直接定義為假   2,未定義變數為假  3,unset銷燬的變數為false

            isset();檢測一個變數是否被定義

       2)如何檢測一個變數是否為空;

            $a=100;  //false

            $a=array();  //true

            var_dump(empty($a)); //判斷一個檔案是否為空 

       3)這兩個函式有什麼樣的區別?

           isset和empty有什麼區別?

          A) Isset是用來檢測一個變數是否被設定(定義);

          B) Empty是用來檢測一個變數是否為空

          C) isset函式在NULL一下3鍾情況為假

          D) empty函式在false以下7種清況為真

           $a=null;                                a)直接賦值為null為假

           var_dump(isset($a));       b ) 未定義變數為假

                                                        c ) unset銷燬的變數 

          empty為真的情況 ;

          $a=0;                                  1,整形0會判斷為空

          $a=0.0;                                  2,浮點型別的0.0也會判讀為空

          $a=" ";                                   3,空字串

          $a="0";                                  4,  0字元

          $a=false;                               5,布林型別false

          $a=array();                       6,空陣列

          $a=null;                                 7,null   

          var_dump(empty($a));