要說它們的聯絡,其共同點就是empty()和isset()都是變數處理函式,作用是判斷變數是否已經配置,正是由於它們在處理變數過程中有很大的相似性,才導致對它們的關係認識不足。單從empty()和isset()這兩個函式本身來考慮的話會把人弄得更糊塗,換乙個角度來它。empty()和isset()的處理物件無外乎未定義變數,0,空字串。
如果變數為0,則empty()會返回true,isset()會返回true;
如果變數為空字串,則empty()會返回true,isset()會返回true;
如果變數未定義,則empty()會返回true,isset()會返回flase;
手冊中對empty()的解釋如下:
描述bool empty( mixed var )
如果 var 是非空或非零的值,則 empty()返回false
。換句話說,""、0、"0"、null
、false
、array()、var $var; 以及沒有任何屬性的物件都將被認為是空的,如果 var 為空,則返回true
。
手冊中對isset()的解釋如下:
isset()檢測變數是否設定
描述bool isset( mixed var [, mixed var [, ...]] )
如果 var 存在則返回true
,否則返回false
。
如果已經使用 unset()釋放了乙個變數之後,它將不再是 isset()。若使用 isset()測試乙個被設定成null
的變數,將返回false
。同時要注意的是乙個null
位元組("\0")並不等同於 php 的null
常數。
警告:isset()只能用於變數,因為傳遞任何其它引數都將造成解析錯誤。若想檢測常量是否已設定,可使用 defined()函式。
當要 判斷乙個變數是否已經宣告的時候 可以使用 isset 函式
當要 判斷乙個變數是否已經賦予資料且不為空 可以用 empty 函式
當要 判斷 乙個變數 存在且不為空 先isset 函式 再用 empty 函式
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的變...