首頁 > 後端開發 > php教程 > empty和isset的區別

empty和isset的區別

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-07-29 08:57:46
原創
3453 人瀏覽過

相信身為新手的我們,每次用到empty()和isset()時等都會有這樣的疑惑:這二者有何差別?什麼時候需要用empty()?什麼時候用isset()?今天我跟大家說說二者的差別,以及二者的應用場景。

1.區別匯總:

區別一:empty()是函數,它具有函數的所有屬性,有返回值,可以使用函數返回值作為參數,可以使用動態變量訪問等;

isset()是語句,它是php一種固有的邏輯結構,如foreach,for,continue等,無法使用動態變數訪問,也無法使用函數返回值作為參數;例子如下:

$a = 'empty';
$a('err');//TRUE
empty(intval('1fa'));//FALSE;
登入後複製

區別二:當$a定義後,不論它的值是0,false,null,''等空值,empty()的回傳值均為true;isset()的回傳值也為TURE,isset只在驗證未曾定義的變數時才會回傳false ;

例如:

$a = 0;//'0',false,null,'','0.0'等空值
empty($a);//true
empty('aaa');//false
empty($b);//true
isset($a);//true
isset($b);//false,$b未定义
登入後複製

2.應用場景:

a.當判斷一個變數是否定義時,可用isset();

應用:表單提交時用isset($_POST['submit'])的值來判定是否提交表單。

b.當判斷一個變數是否為空時(不需要知道其是否賦值),可用empty();

應用:表單驗證時,需驗證必填項值是否為空。

c.當判斷一個變數已經存在且不為空,可先用isset(),再用empty();

應用:檔案上傳時,需判斷$_FILES已賦值,且不為空。

以上就介紹了empty和isset的差別,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
empty比isset嚴格一點
來自於 1970-01-01 08:00:00
0
0
0
加上if(empty(USER_ID))就出錯
來自於 1970-01-01 08:00:00
0
0
0
empty()不能用常數?
來自於 1970-01-01 08:00:00
0
0
0
isset() 和empty() - 使用什麼
來自於 1970-01-01 08:00:00
0
0
0
如何使用Python腳本將多個值插入MySQL資料庫
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板