先說一下他們的共同點:函數
均可以斷定一個變量是否爲空;測試
都返回boolean類型,即true或false。ci
下面具體說一下他們用法之間的區別:class
isset()用來檢測變量是否設置,只能用於變量,由於傳遞任何其它參數都將形成解析錯誤。若想檢測常量是否已設置,可以使用 defined() 函數。若是已經使用 unset() 釋放了一個變量以後,它將再也不是 isset()。若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE。(注意的是一個 NULL 字節("\0")並不等同於 PHP 的 NULL 常數)變量
empty()用來檢查一個變量是否爲空。im
他們之間最大的區別就是對於0的判斷,若用empty判斷會認爲是空,用isset則認爲不爲空di