php isset()與empty函式 的區別
阿新 • • 發佈:2020-07-19
isset 檢查一個變數是否為空 返回值:變數只要不是null 返回true,否則返回false
既:變數的值為"" (空字串),0 (作為整數的0),0.0 (作為浮點數的0),"0" (作為字串的0),FALSE,array() (一個空陣列) 不是null返回true
變數的值為 null ,unset()後的變數, 沒有賦值的變數 被認為null 返回false
empty 函式檢查一個變數是否為空:返回值 為空返回true,否則不為空返回 false;
既:變數的值為"" (空字串) ,0 (作為整數的0),0.0 (作為浮點數的0),"0" (作為字串的0),NULL,FALSE,array() (一個空陣列),$var; (一個聲明瞭,但是沒有值的變數),返回true
例:
$a = NULL; if (empty($a)) { echo "變數不存在"; //變數不存在 } else { echo "變數存在"; } if (!isset($a) || $a == false) { echo "變數不存在"; //變數不存在 } else { echo "變數存在"; } if ($a == false) { echo "=="; // == } else { echo "!=="; }
這意味著 empty() 本質上與 !isset($var) || $var == false 等價。