談函式isset 和empty 的區別

2021-08-07 09:43:28 字數 1131 閱讀 4706

php的isset()函式 一般用來檢測變數是否設定 ,而empty()函式 判斷值是否為空 ,對於初學者來說,這兩個函式很容易混淆,現在就來談談這兩者的區別吧:

isset()

格式:bool isset ( mixed var [, mixed var [, ...]] )

返回值:

若變數不存在則返回 false

若變數存在且其值為null,也返回 false

若變數存在且值不為null,則返回 ture

同時檢查多個變數時,每個單項都符合上一條要求時才返回 true,否則結果為 false

使用 unset() 釋放變數之後,它將不再是 isset()。

php函式isset()只能用於變數,傳遞任何其它引數都將造成解析錯誤。

檢測常量是否已設定可使用 defined() 函式。

empty()

格式:bool empty ( mixed var )

返回值:

若變數不存在則返回 true

若變數存在且其值為""、0、"0"、null、、false、array()、var

$var; 以及沒有任何屬性的物件,則返回 ture

若變數存在且值不為""、0、"0"、null、、false、array()、var

$var; 以及沒有任何屬性的物件,則返回 false

empty()的返回值=!(boolean) var,但不會因為變數未定義而產生警告資訊。參見轉換為布林值獲取更多資訊。

empty() 只能用於變數,傳遞任何其它引數都將造成paser error而終止執行。

檢測常量是否已設定可使用 defined() 函式。

綜上所述:

empty() 和 isset() 雖然都是變數處理函式,它們都用來判斷變數是否已經配置,它們卻是有一定的區別:empty還會檢測變數是否為空、為零。當乙個變數值為0,empty() 認為這個變數同等於空,即相當於沒有設定。 

比如檢測 $id 變數,當 $id=0 時,用empty() 和 isset() 來檢測變數 $id 是否已經配置,兩者將返回不同的值—— empty() 認為沒有配置,isset() 能夠取得 $id 的值。

empty和isset函式詳解

1.empty函式 用途 檢測變數是否為空 若變數不存在則返回 true 若變數存在且其值為 0 0 null false array var var 以及沒有任何屬性的物件,則返回 ture 若變數存在且值不為 0 0 null false array var var 以及沒有任何屬性的物件,則返...

isset 和empty 函式的區別

一 php的isset 函式 一般用來檢測變數是否設定 格式 bool isset mixed var mixed var 功能 檢測變數是否設定 返回值 若變數不存在則返回 false 若變數存在且其值為null,也返回 false 若變數存在且值不為null,則返回 ture 同時檢查多個變數時...

isset 和empty 的區別

php的isset 函式 一般用來檢測變數是否設定 格式 bool isset mixed var mixed var 功能 檢測變數是否設定 返回值 若變數不存在則返回 false 若變數存在且其值為null,也返回 false 若變數存在且值不為null,則返回 ture 同時檢查多個變數時,每...