empty和isset的區別

2021-08-23 12:43:53 字數 1483 閱讀 2719

今天再做乙個功能時,需要檢測檢測資料庫某個欄位為是否為空,特地複習了乙個下幾個檢測函式複習一下。

判斷乙個變數是否為空

null、false、00、0、』0′、』。都會返回true。

判斷乙個變數是否設定

0、00、』0′、』、』 『、false、』false』、』null』都返回true。 

只有值為null的變數返回true

0、00、0.0、』0′、』、false、null返回false 

『00′、』0.0′、』null』、』false』、』 『返回true

isset判斷變數是否已存在(配置)

unset把變數刪除(釋放)掉

empty判斷變數是否為空

is_null判斷變數是否為null

is_null,我們可以把它看成是!isset,是isset的乙個逆操作,下面一張表可以很清楚的說明他們之間的關係:

變數empty

is_null

isset

$a=」「

true

false

true

$a=null

true

true

false

var $a

true

true

false

$a=array()

true

false

true

$a=false

true

false

true

$a=15

false

false

true

$a=1

false

false

true

$a=0

true

false

true

$a=」0」

true

false

true

$a=」true」

false

false

true

$a=」false」

false

false

true

不難看出只要變數是否為」 「或者0,或者是false和null,只要是這些值empty都會返回true,而isset是判斷變數是否存在,只要你這個變數不是null或未賦值,返回結果都是true,而is_null正好是isset的反結果。

當然如果只是想做如下工作: 

echo !isset($_get['a']); //如果得不到變數a的值

echo empty($_get['a']); //如果變數a的值是空

isset 和empty 的區別

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

empty 和isset 的區別

在使用 php 編寫頁面程式時,我經常使用變數處理函式判斷 php 頁面尾部引數的某個變數值是否為空,開始的時候我習慣了使用 empty 函式,卻發現了一些問題,因此改用 isset 函式,問題不再。顧名思義,empty 判斷乙個變數是否為 空 isset 判斷乙個變數是否已經設定。正是這種所謂的 ...

empty 和isset的區別

empty是判斷乙個變數是否為空,如果 變數 是非空或非零的值,則 empty 返回 false。換句話說,0 0 null false array var var 未定義 以及沒有任何屬性的物件都將被認為是空的,如果 var 為空,則返回 true。1 數字0 2 空的字元 3 定義為null的變...