1. 程式人生 > 實用技巧 >php isset()與empty函式 的區別

php isset()與empty函式 的區別

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 等價。