php的isset 和empty 區別

2021-09-08 10:39:59 字數 1018 閱讀 7909

一般用來檢測變數是否設定 (是否已經賦值)

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() 的乙個簡單比較

**如下:

<?php 

$var = 0;

//結果為 true,因為 $var 為空

if (empty($var

)) //

結果為 false,因為 $var 已設定

if (!isset($var

)) ?>注:由於這是乙個語言結構而非函式,因此它無法被變數函式呼叫。

注: empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。

view code

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 用於檢測變數是否為空 若變數不存在...