[PHP] isset() 和 empty() 的差別

標籤: php

在寫 PHP 的時候會遇到要判斷是否有值,這時候就可能會把 isset() 和 empty() 這兩個很像的東西搞混,這邊來整理一下差別。

基本上 isset 判斷的是 "變數"是否存在,而 empty 判斷的是 "值"時否有,如果這個值是字串或是 0 的話都會回傳 true,用一張表來比較一下:

  isset() empty()
undefined FALSE TRUE
null FALSE TRUE
0 TURE TRUE
"0" TURE TRUE
1 TURE FALSE
"" TRUE TRUE
"PHP" TRUE FALSE

用表來看是不是就很清楚了呢?

isset() 說明

empty()說明