PHP中empty()和isset()的區(qū)別

1、empty函數(shù) 

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),齊河企業(yè)網(wǎng)站建設(shè),齊河品牌網(wǎng)站建設(shè),網(wǎng)站定制,齊河網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,齊河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

用途:檢測變量是否為空

判斷:如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認(rèn)為是空的,如果 var 為空,則返回 TRUE。來源手冊:http://php.net/manual/zh/function.empty.php 

注意:empty() 只檢測變量,檢測任何非變量的東西都將導(dǎo)致解析錯誤。

$name=0;

$name='';

$name=null;

$name="0";

$name;

if(empty($name))

{

echo "ok"; //上面五種寫法empty($name)都是 true

}

if(empty($na))  //結(jié)果為 true 由于變量$na未定義

2、isset函數(shù)

用途:檢測變量是否設(shè)置

判斷:檢測變量是否設(shè)置,并且不是 NULL。如果已經(jīng)使用 unset() 釋放了一個變量之后,它將不再是 isset()。若使用 isset() 測試一個被設(shè)置成 NULL 的變量,將返回 FALSE。同時要注意的是一個NULL 字節(jié)("\0")并不等同于 PHP 的 NULL 常數(shù)。

isset 函數(shù)是用于檢測這個變量是否設(shè)置過,在下面兩種情況下會認(rèn)為 isset為假

①$id; 沒有給任何值

②或者就是根本沒有定義.

因此我們建議在 判斷某個表單是否提交有數(shù)據(jù),使用isset來判斷if(isset($_GET/$_POST['變量']){echo $_GET['變量']}else{ echo '沒有傳遞數(shù)據(jù)'}

例子:

$a1 = null;

$a2 = false;

$a3 = 0;

$a4 = '';

$a5 = '0';

$a6 = 'null';

$a7 = array();

$a8 = array(array());

echo empty($a1) ? ‘true’ : ‘false’;//輸出true

echo empty($a2) ? ‘true’ : ‘false’;//輸出true

echo empty($a3) ? ‘true’ : ‘false’;//輸出true

echo empty($a4) ? ‘true’ : ‘false’;//輸出true

echo empty($a5) ? ‘true’ : ‘false’;//輸出true

echo empty($a6) ? ‘true’ : ‘false’;//輸出false

echo empty($a7) ? ‘true’ : ‘false’;//輸出true

echo empty($a8) ? ‘true’ : ‘false’;//輸出false

echo ‘<br/>’;

echo isset($a1) ? ‘true’ : ‘false’;//輸出false

echo isset($a2) ? ‘true’ : ‘false’;//輸出true

echo isset($a3) ? ‘true’ : ‘false’;//輸出true

echo isset($a4) ? ‘true’ : ‘false’;//輸出true

echo isset($a5) ? ‘true’ : ‘false’;//輸出true

echo isset($a6) ? ‘true’ : ‘false’;//輸出true

echo isset($a7) ? ‘true’ : ‘false’;//輸出true

echo isset($a8) ? ‘true’ : ‘false’;//輸出true

1、isset值對于變量沒有賦值或者賦值為NULL時判斷false,其余都是true;

2、empty需要注意點比較多,要根據(jù)函數(shù)的定義來做判斷.

本文題目:PHP中empty()和isset()的區(qū)別
轉(zhuǎn)載源于:http://www.muchs.cn/article36/gjggsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、定制開發(fā)、品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化電子商務(wù)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司