一般用來檢測變數是否設定 (是否已經賦值)
1.1. 若變數不存在則返回 false
1.2.若變數存在且其值為null,也返回 false
1.3.若變數存在且值不為null,則返回 ture
1.4.還可以同時檢查多個變數,每個單項都符合上一條要求時才返回 true,否則結果為 false
使用 unset() 釋放變數之後,它將不再是 isset()。
php函式isset()只能用於變數,傳遞任何其它引數都將造成解析錯誤。
檢測常量是否已設定可使用 defined() 函式。
判斷值為否為空
2.1.若變數不存在則返回 true
2.2.若變數存在且其值為""、0、"0"、null、、false、array()、var $var; 以及沒有任何屬性的物件,則返回 ture
2.3.若變數存在且值不為""、0、"0"、null、、false、array()、var $var; 以及沒有任何屬性的物件,則返回 false
empty()的返回值=!(boolean) var,但不會因為變數未定義而產生警告資訊。參見轉換為布林值獲取更多資訊。
empty() 只能用於變數,傳遞任何其它引數都將造成paser error而終止執行。
檢測常量是否已設定可使用 defined() 函式。
例子: empty() 與 isset() 的乙個簡單比較
**如下:
<?phpview code$var = 0;
//結果為 true,因為 $var 為空
if (empty($var
)) //
結果為 false,因為 $var 已設定
if (!isset($var
)) ?>注:由於這是乙個語言結構而非函式,因此它無法被變數函式呼叫。
注: empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。
php的isset 和empty 區別
一般用來檢測變數是否設定 是否已經賦值 1.1.若變數不存在則返回 false 1.2.若變數存在且其值為null,也返回 false 1.3.若變數存在且值不為null,則返回 ture 1.4.還可以同時檢查多個變數,每個單項都符合上一條要求時才返回 true,否則結果為 false 使用 un...
isset和empty的區別(PHP)
在微博上看到這個問題,作為入門php開發者,也有點模糊不清,做了個測試 在乙個對get請求做處理的函式內部,加入以下 if isset post else if empty post else 輸出結果是 人工加入換行,序號跟 後面的序號對應 0 post has been set in get r...
php中isset 和empty 區別
1 isset 用於檢測變數是否設定值 若變數不存在則返回 false 若變數存在且其值為null,也返回 false 若變數存在且值不為null,則返回 ture 同時檢查多個變數時,每個單項都符合上一條要求時才返回 true,否則結果為 false empty 用於檢測變數是否為空 若變數不存在...