這三個方法都是來判斷是否為空值或是有沒有宣告變數的方法,比較容易搞混的是 isset()、 empty() 。簡單整理一下這三個差異的筆記。
- isset() 檢查的變數存不存在
- empty()檢查的變數內的值是否為空
- is_null():檢查變數是否為null
官網有整理很詳細的結果比較表,下方表格我簡單整理,列出常讓我搞混的情況,其他詳細資料可以參考官網!
gettype() | isset() | empty() | is_null() | |
---|---|---|---|---|
$x is undefined | NULL | FALSE | TRUE | TRUE |
$x = null; | NULL | FALSE | TRUE | TRUE |
$x = 0; | integer | TRUE | TRUE | FALSE |
$x = "0"; | string | TRUE | TRUE | FALSE |
$x = 1; | integer | TRUE | FALSE | FALSE |
$x = ""; | string | TRUE | TRUE | FALSE |
$x = "PHP"; | string | TRUE | FALSE | FALSE |
[…] 它們的區別 出處 […]