内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

PHP中怎么利用isset()函數(shù)檢測變量是否設(shè)置

PHP中怎么利用isset()函數(shù)檢測變量是否設(shè)置,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗,各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站設(shè)計,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。

PHP的isset()函數(shù)怎么來檢測變量是否設(shè)置

格式:boolisset(mixedvar[,mixedvar[,...]])

功能:檢測變量是否設(shè)置

返回值:

若變量不存在則返回FALSE

若變量存在且其值為NULL,也返回FALSE

若變量存在且值不為NULL,則返回TURE

同時檢查多個變量時,每個單項都符合上一條要求時才返回TRUE,否則結(jié)果為FALSE

版本:PHP3,PHP4,PHP5

更多說明:

使用unset()釋放變量之后,它將不再是isset()。

PHP函數(shù)isset()只能用于變量,傳遞任何其它參數(shù)都將造成解析錯誤。

檢測常量是否已設(shè)置可使用defined()函數(shù)。

PHP的empty()函數(shù)怎么判斷值為否為空

格式:boolempty(mixedvar)

功能:檢查一個變量是否為空

返回值:

若變量不存在則返回TRUE

若變量存在且其值為”"、0、”0″、NULL、、FALSE、array()、var$var;以及沒有任何屬性的對象,則返回TURE

若變量存在且值不為”"、0、”0″、NULL、、FALSE、array()、var$var;以及沒有任何屬性的對象,則返回FALSE

版本:PHP3,PHP4,PHP5

更多說明:

empty()的返回值=!(boolean)var,但不會因為變量未定義而產(chǎn)生警告信息。參見轉(zhuǎn)換為布爾值獲取更多信息。

empty()只能用于變量,傳遞任何其它參數(shù)都將造成Pasererror而終止運行。

檢測常量是否已設(shè)置可使用defined()函數(shù)。

例子:empty()與isset()的一個簡單比較

$var=0;

//結(jié)果為true,因為$var為空

if(empty($var)){

echo'$variseither0ornotsetatall';

}

//結(jié)果為false,因為$var已設(shè)置

if(!isset($var)){

echo'$varisnotsetatall';

}

>

注:由于這是一個語言結(jié)構(gòu)而非函數(shù),因此它無法被變量函數(shù)調(diào)用。

注:empty()只檢測變量,檢測任何非變量的東西都將導(dǎo)致解析錯誤。換句話說,后邊的語句將不會起作用:empty(addslashes($name))。

下面是我們測試過的一段isset與empty函數(shù)詳細(xì)例子的代碼,看完這個基本上就差不多了:

error_reporting(E_ALL);

echo'未定義$var
';

echo"isset測試:
";

if(isset($var))

{

echo'變量$var存在!
';

}

echo"empty測試:
";

if(empty($var)){

echo'變量$var的值為空
';

}

else

{

echo'變量$var的值不為空
';

}

echo"變量直接測試:
";

if($var){

echo'變量$var存在!
';

}

else{

echo'變量$var不存在!
';

}

echo'----------------------------------
';

echo'$var=\'\'
';

echo"isset測試:
";

$var='';

if(isset($var))

{

echo'變量$var存在!
';

}

echo"empty測試:
";

if(empty($var)){

echo'變量$var的值為空
';

}

else

{

echo'變量$var的值不為空
';

}

echo"變量直接測試:
";

if($var){

echo'變量$var存在!
';

}

else{

echo'變量$var不存在!
';

}

echo'----------------------------------
';

echo'$var=0
';

echo'isset測試:
';

$var=0;

if(isset($var))

{

echo'變量$var存在!
';

}

echo"empty測試:
";

if(empty($var)){

echo'變量$var的值為空
';

}

else

{

echo'變量$var的值不為空
';

}

echo"變量直接測試:
";

if($var){

echo'變量$var存在!
';

}

else{

echo'變量$var不存在!
';

}

echo'----------------------------------
';

echo'$var=null
';

echo'isset測試:
';

$var=null;

if(isset($var))

{

echo'變量$var存在!
';

}

echo"empty測試:
";

if(empty($var)){

echo'變量$var的值為空
';

}

else

{

echo'變量$var的值不為空
';

}

echo"變量直接測試:
";

if($var){

echo'變量$var存在!
';

}

else{

echo'變量$var不存在!
';

}

echo'----------------------------------
';

echo'$var="php"
';

echo'isset測試:
';

$var="php";

if(isset($var))

{

echo'變量$var存在!
';

}

echo"empty測試:
";

if(empty($var)){

echo'變量$var的值為空
';

}

else

{

echo'變量$var的值不為空
';

}

echo"變量直接測試:
";

if($var){

echo'變量$var存在!
';

}

else{

echo'變量$var不存在!
';

}

>

在使用php編寫頁面程序時,我經(jīng)常使用變量處理函數(shù)判斷php頁面尾部參數(shù)的某個變量值是否為空,開始的時候我習(xí)慣了使用empty()函數(shù),卻發(fā)現(xiàn)了一些問題,因此改用isset()函數(shù),問題不再。

顧名思義,empty()判斷一個變量是否為“空”,isset()判斷一個變量是否已經(jīng)設(shè)置。正是這種所謂的“顧名思義”,令我開始時走了些彎路:當(dāng)一個變量值等于0時,empty()也會成立(True),因而會發(fā)生一些意外。原來,empty()和isset()雖然都是變量處理函數(shù),它們都用來判斷變量是否已經(jīng)配置,它們卻是有一定的區(qū)別:empty還會檢測變量是否為空、為零。當(dāng)一個變量值為0,empty()認(rèn)為這個變量同等于空,即相當(dāng)于沒有設(shè)置。

比如檢測$id變量,當(dāng)$id=0時,用empty()和isset()來檢測變量$id是否已經(jīng)配置,兩都將返回不同的值——empty()認(rèn)為沒有配置,isset()能夠取得$id的值:

$id=0;

empty($id)print"It'sempty.":print"It's$id.";

//結(jié)果:It'sempty.

print"
";

!isset($id)print"It'sempty.":print"It's$id.";

//結(jié)果:It's0.

這意味著,我們在使用變量處理函數(shù)時,當(dāng)該變量可能出現(xiàn)0的值,使用empty()要小心,這個時候用isset取代它更明智一些。

當(dāng)一個php頁面的URL尾部參數(shù)出現(xiàn)id=0時(比如:test.phpid=0),試比較:

if(empty($id))$id=1;-若id=0,id也會為1

if(!isset($id))$id=1;-若id=0,id不會為1

可分開運行以下代碼檢測上述推斷:

if(empty($id))$id=1;

print$id;//得到1

if(!isset($id))$id=1;

print$id;//得到0

要說它們的聯(lián)系,其共同點就是empty()和isset()都是變量處理函數(shù),作用是判斷變量是否已經(jīng)配置,正是由于它們在處理變量過程中有很大的相似性,才導(dǎo)致對它們的關(guān)系認(rèn)識不足。單從empty()和isset()這兩個函數(shù)本身來考慮的話會把人弄得更糊涂,換一個角度來它。empty()和isset()的處理對象無外乎未定義變量,0,空字符串。

假如變量為0,則empty()會返回TRUE,isset()會返回TRUE;

假如變量為空字符串,則empty()會返回TRUE,isset()會返回TRUE;

假如變量未定義,則empty()會返回TRUE,isset()會返回FLASE;

手冊中對empty()的解釋如下:

描述boolempty(mixedvar)

假如var是非空或非零的值,則empty()返回FALSE。換句話說,””、0、”0″、NULL、FALSE、array()、var$var;以及沒有任何屬性的對象都將被認(rèn)為是空的,假如var為空,則返回TRUE。

手冊中對isset()的解釋如下:

isset()檢測變量是否設(shè)置

描述boolisset(mixedvar[,mixedvar[,...]])

假如var存在則返回TRUE,否則返回FALSE。

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

警告:isset()只能用于變量,因為傳遞任何其它參數(shù)都將造成解析錯誤。若想檢測常量是否已設(shè)置,可使用defined()函數(shù)。

當(dāng)要判斷一個變量是否已經(jīng)聲明的時候可以使用isset函數(shù)。

當(dāng)要判斷一個變量是否已經(jīng)賦予數(shù)據(jù)且不為空可以用empty函數(shù)。

當(dāng)要判斷一個變量存在且不為空先isset函數(shù)再用empty函數(shù)。

關(guān)于PHP中怎么利用isset()函數(shù)檢測變量是否設(shè)置問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

文章名稱:PHP中怎么利用isset()函數(shù)檢測變量是否設(shè)置
本文地址:http://www.rwnh.cn/article16/ghcgdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、網(wǎng)站制作App開發(fā)

廣告

聲明:本網(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)

手機(jī)網(wǎng)站建設(shè)
万山特区| 忻州市| 洛川县| 岚皋县| 丁青县| 曲麻莱县| 招远市| 江达县| 岳西县| 石台县| 开远市| 临猗县| 桓仁| 商南县| 高青县| 安达市| 莎车县| 泉州市| 随州市| 容城县| 延吉市| 柳州市| 太保市| 新闻| 宣化县| 托克逊县| 夏河县| 仁布县| 福鼎市| 美姑县| 谢通门县| 贺州市| 九江县| 临洮县| 瑞丽市| 富源县| 德保县| 陆良县| 措勤县| 吉首市| 永善县|