1. 程式人生 > >PHP中isset()、empty()函式中那些坑。。。

PHP中isset()、empty()函式中那些坑。。。

1,empty — 檢查一個變數是否為空,bool empty ( mixed $var )

判斷一個變數是否被認為是空的。當一個變數並不存在,或者它的值等同於false,那麼它會被認為不存在。如果變數不存在的話,empty()並不會產生警告。

2,當引數var存在,並且是一個非空非零的值時返回 false 否則返回 true.

以下幾種情況被認為是空的:

(1) '' (空字串)

(2) 0 (作為整數的0)

(3) 0.0 (作為浮點數的0)

(4) "0" (作為字串的0)

(5) null

(6) flase

(7) array() (一個空陣列)

(8) $var; (一個聲明瞭,但是沒有值的變數)

3,isset — 檢測變數是否已設定並且非 null,bool isset ( mixed $var [, mixed $... ] )

檢測變數是否設定,並且不是 NULL

如果已經使用 unset() 釋放了一個變數之後,它將不再是 isset()。若使用 isset() 測試一個被設定成 NULL

 的變數,將返回 FALSE。同時要注意的是 null 字元("\0")並不等同於 PHP 的 NULL 常量。

如果一次傳入多個引數,那麼 isset() 只有在全部引數都以被設定時返回 TRUE 計算過程從左至右,中途遇到沒有設定的變數時就會立即停止。

返回值:

如果 var 存在並且值不是 NULL 則返回 TRUE,否則返回 FALSE

若變數不存在則返回 FALSE
若變數存在且其值為NULL,也返回 FALSE
若變數存在且值不為NULL,則返回 TURE
同時檢查多個變數時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE