2016/09/16 empty isset is_null的異同

2016/09/16  empty isset is_null的異同


empty介紹

  1. bool empty ( mixed $var )
判斷一個變量是否被認爲是空的。當一個變量並不存在,或者它的值等同於FALSE,那麼它會被認爲不存在。如果變量不存在的話,empty()並不會產生警告。

isset介紹

  1. bool isset ( mixed $var [, mixed $... ] )

檢測變量是否設置,並且不是 NULL。
如果已經使用 unset() 釋放了一個變量之後,它將不再是 isset()。若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE。同時要注意的是一個 NULL 字節("\0")並不等同於 PHP 的 NULL 常數

is_null介紹

  1. bool is_null ( mixed $var )

如果 var 是 null 則返回 TRUE,否則返回 FALSE。
在下列情況下一個變量被認爲是 NULL:
被賦值爲 NULL。
尚未被賦值。
被 unset()。

相互區別

1.就結果來看,is_null 與 isset結果相反,變量未聲明,聲明未賦值,被賦值爲NULL,都會返回true,相反isset返回false,另外, is_null是函數, isset是語句,因此isset比is_null效率要高。
2.empty與(bool)的結果也是相反,if語句中,條件判斷時,

案例參考

  isset is_null (bool) empty var_dump
未聲明 false true false true NULL
聲明未賦值 false true false true NULL
null false true false true NULL
‘’ true false false true string(0) ""
0 true false false true int(0)
1 true fasle true false int(1)
-1 true false true false int(-1)
‘0’ true false false true string(1) "0"
‘1’ true false true false string(1) "1"
‘-1‘ true false true false string(2) "-1"
array() true false false true array(0){ }
true true false true false bool(true)
false true false false true bool(false)
'true' true false true false string(5) "true"
'false' true false true false string(5) "false"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章