亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php中isset()函數變量判斷實例

2024-09-04 11:48:42
字體:
來源:轉載
供稿:網友

isset函數我們多用于判斷變量是不是存在了,如isset($a)了,如果存在返回 true,否則返回false了,下面我們一起來看看.

isset函數是檢測變量是否設置.

格式:bool isset ( mixed var [, mixed var [, ...]] )

返回值:若變量不存在則返回 FALSE,若變量存在且其值為NULL,也返回 FALSE,若變量存在且值不為NULL,則返回 TURE,同時檢查多個變量時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE.

如果已經使用 unset() 釋放了一個變量之后,它將不再是 isset(),若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE,同時要注意的是一個 NULL 字節("")并不等同于 PHP 的 NULL 常數.

獲取用戶屬性時有的用戶能,有的用戶不能,同樣的邏輯為什么不能經檢查使用了類似這樣的代碼:

  1. $userInfo=’abc’; 
  2. if(isset($userInfo['account'])) { 
  3. $account=$userInfo['account']; 
  4. else { 
  5. $account=$userInfo

發現$account得到的是空,查了一些資料也沒得到結果,做了一個實驗得到了結論,代碼如下:

$a=’abc;echo $a['account'];

結果是a,當是字符串key沒有時,它會轉化成數字key,是0,所以得到了a,現在php5.4已經修復,趁這機會,整理了一下isset的用法,供大家借鑒,代碼如下:

  1. <?php 
  2.  
  3. $var = ''
  4.  
  5. if (isset($var)) { 
  6. print "This var is set set so I will print."
  7.  
  8. // 在后邊的例子中,我們將使用 var_dump函數 輸出 isset() 的返回值。 
  9.  
  10. $a = "test"
  11. $b = "anothertest"
  12.  
  13. var_dump( isset($a) ); // TRUE 
  14. var_dump( isset ($a$b) ); // TRUE 
  15.  
  16. unset ($a); 
  17.  
  18. var_dump( isset ($a) ); // FALSE 
  19. var_dump( isset ($a$b) ); // FALSE 
  20.  
  21. $foo = NULL; 
  22. var_dump( isset ($foo) ); // FALSE 
  23.  
  24. ?> 

這對于數組中的元素也同樣有效,代碼如下:

  1. <?php 
  2. $a = array ('test' => 1, 'hello' => NULL); 
  3. var_dump( isset ($a['test') ); // TRUE 
  4. var_dump( isset ($a['foo') ); // FALSE 
  5. var_dump( isset ($a['hello') ); // FALSE 
  6. //開源代碼Vevb.com 
  7. // 'hello' 等于 NULL,所以被認為是未賦值的。 
  8. // 如果想檢測 NULL 鍵值,可以試試下邊的方法。 
  9. var_dump( array_key_exists('hello'$a) ); // TRUE 
  10. ?> 

鍵 ‘b’ 的值等于 NULL,所以被認為是未置值的,但是鍵’c'的值是空結果是true,空值是代表 有設置的 如果想檢測 NULL 鍵值,可以試試下邊的方法,代碼如下:

var_dump( array_key_exists(‘hello’, $a) ); // TRUE

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

一些應用中實例:PHP isset()對PHP參數判斷您可以使用 PHP isset() 來判斷一個參數是否被定義,注意如果該參數為空,或者"n"(NULL字節)使用 PHP isset() 判斷之后,都會為TRUE,代碼如下:

  1. <?php 
  2. $weigeti=''//這里初始參數$weigeti=''; 
  3. $weigeti0=FALSE //這里初始參數為布爾FALSE 
  4. $weigeti2=NULL;  //這里定義$weigeti2=NULL,用isset()判斷返回FALSE 
  5. $weigeti3=""// 這里是NULL字節,用isset()判斷,返回TRUE,不同于NULL常數 
  6. $weigeti4="www.49028c.com";  //這里定義會在下面給unset掉 
  7.  
  8. if(isset($weigeti)){ echo '參數$weigeti已經設定,且值不為NULL'; } 
  9. // 參數$weigeti已經賦值,而且值為$weigeti='',所以會輸出“參數$weigeti已經設定” 
  10.  
  11. if(isset($weigeti0)){ echo '參數$weigeti0已經設定,且值不為NULL'; } 
  12. // 參數$weigeti0已經賦值,而且值為$weigeti=FALSE,所以會輸出“參數$weigeti已經設定” 
  13.  
  14. if(isset($vget)){ echo '參數$vget已經設定,且值不為NULL'; } 
  15. // 參數$vget根本就沒有被提及過,isset($vget)返回FALSE,不會輸出 
  16.  
  17. if(isset($weigeti2)){ echo '參數$weigeti2已經設定,且值不為NULL'; } 
  18. // 這里是$weigeti2雖然被設定了,但是$weigeti2=NULL,所以isset($weigeti2)返回FALSE,不會輸出 
  19.  
  20. if(isset($weigeti3)){ echo '參數$weigeti3已經設定,且值不為NULL'; } 
  21. // 參數$weigeti3 雖然 就是代表NULL字節,但是這個不是常數NULL,所以$isset("")返回TRUE,會輸出 
  22.  
  23. unset($weigeti4);  //這里給$weigeti4 釋放掉了 
  24. if(isset($weigeti4)){ echo '參數$weigeti4已經設定,且值不為NULL'; } 
  25. // 雖然開始已經定義$weigeti4,而且還不為NULL,但是后來又給 unset() 掉了,所以不會輸出。 
  26. ?> 

PHP isset() 對數組的判斷在使用PHP數組的時候,需要判斷數組的某個值是否存在也可以使用 PHP isset() 函數,代碼如下:

  1. <?php 
  2. $V=array
  3. 'WeiGeTi'=>'www.Vevb.net'
  4. 'V-Get'=>array
  5.     'www'=>'www.49028c.com'
  6.     'e'=>'e.v-get.com'
  7.     'wuliu'=>array
  8.         'www'=>'wuliu.Vevb.com'
  9.         'yiwu'=>'www.49028c.com' 
  10.      ) 
  11.    ) 
  12. ); 
  13.  
  14. // var_dump用于輸出TRUE 或 FALSE 
  15.  
  16. var_dump(isset($V['WeiGeTi'])); 
  17. // 數組$V 的$V['WeiGeTi'] ='www.49028c.com'已經存在,所以輸出TRUE 
  18.  
  19. var_dump(isset($V['V-Get']['e'])); 
  20. //$V['V-Get']['e']='e.v-get.com' 所以輸出 TRUE 
  21.  
  22. var_dump(isset($V['V-Get']['wuliu']['yiwu'])); 
  23. // $V['V-Get']['wuliu']['yiwu']='www.49028c.com'所以輸出TRUE 
  24.  
  25. var_dump(isset($V['V-Get']['wuliu']['sh'])); 
  26. //根據數組,根本就沒有設定該項,所以輸出FALSE 
  27. ?> 

PHP isset()多參數判斷很多時候我們需要對多個參數進行判斷,可以使用isset($A)&&isset($B)……來判斷這些參數是不是都已經設定了,而且都不為NULL,對此您可以使用isset()多參數來判斷是不是都設定了,代碼如下:

  1. <?php 
  2. isset($v1)&&isset($v2)&&isset($v3)…… 
  3. 等價于  
  4. isset($v1,$v2,$v3……) 
  5. ?> 

使用isset()判斷多個參數,需要所有參數都被設定,且不為NULL,只要其中有一個參數沒有被設定過,或者為NULL,那么整個isset()就為FALSE.

PHP isset()判斷$_POST、$_GET、$_REQUEST等值,用isset() 或者empty() 判斷通過表單傳遞來的參數是isset() 最常見的用法,代碼如下:

  1. if(isset($_POST['from'])&&'E.V-Get.com'==$_POST['from']){ 
  2. echo '網站通過POST傳遞的來源是E.V-Get.com'

根據上面我們可以用isset判斷多參數,在對表單傳遞來的值進行判斷就最方便了,代碼如下:

  1. <?php 
  2. //表單傳遞來user用戶名和 pass必須同時存在才能執行 
  3. if(isset($_POST['user'],$_POST['pass'])){ 
  4. $user=$_POST['user']; 
  5. $pass=$_POST['pass']; 
  6. echo '您填寫的用戶名是:',$user,';密碼是:',$pass
  7. ?> 

PHP isset($var{字符串長度}) 判斷字符串長度用PHP判斷字符串是否存在或者判斷字符串長度是否超過某一數字或者判斷字符串長度是否為空一般使用strlen(),但是其實使用isset()性能更優越,代碼如下:

  1. <?php 
  2. //三元,等同于 if(isset($_POST['from'])){$weigeti=$_POST['from'];}else{$weiget='';} 
  3.  
  4. $weigeti=isset($_POST['from'])?$_POST['from']:''
  5.  
  6. //判斷$weigeti存在,且字符串長度大于0 
  7. /* 菜鳥寫法   
  8. if(strlen($weigeti)>0){ 
  9. echo '$weigeti子符長度大于0';} 
  10. */ 
  11.  
  12. // 性能更優越的寫法,判斷$weigeti第1個字符是否設定了 
  13. if(isset($weigeti{1})){ 
  14. echo '$weigeti字符長度大于0'
  15. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美视频专区一二在线观看| 国产精品揄拍500视频| 日韩在线欧美在线国产在线| 日韩中文字幕网| 国产这里只有精品| 中日韩午夜理伦电影免费| 蜜臀久久99精品久久久久久宅男| 成人午夜两性视频| 69视频在线播放| 久久精品国产欧美激情| 欧美孕妇与黑人孕交| 国产精品久久久久久久久久99| 91九色视频在线| 亚洲2020天天堂在线观看| 日韩免费高清在线观看| 久久久久久一区二区三区| 国产精品久久久久久久9999| 久久成人精品电影| 亚洲国产成人爱av在线播放| 操人视频在线观看欧美| 日本精品久久久| 久久久久久久久久久av| 欧美激情成人在线视频| 97人洗澡人人免费公开视频碰碰碰| 狠狠色狠狠色综合日日小说| 日本在线观看天堂男亚洲| 91av视频在线播放| 久久久噜噜噜久久久| 国产第一区电影| 青青草原一区二区| 久久久久久久香蕉网| 91精品国产91久久久久久| 久久久免费高清电视剧观看| 亚洲欧美综合精品久久成人| 国产精品夜间视频香蕉| 亚洲欧洲在线观看| 亚洲视频精品在线| 91亚洲一区精品| 91精品久久久久久久久久久久久久| 亚洲国产美女精品久久久久∴| 亚洲夜晚福利在线观看| 欧美激情精品久久久久久大尺度| 亚洲图片制服诱惑| 日韩精品中文在线观看| 成人写真视频福利网| 在线电影欧美日韩一区二区私密| 日韩美女av在线免费观看| 91成人天堂久久成人| 亚洲精品视频二区| 成人春色激情网| www亚洲精品| 欧美黑人巨大xxx极品| 成人午夜高潮视频| 欧美激情综合亚洲一二区| 日韩在线视频导航| 欧美激情亚洲综合一区| 欧美在线激情网| 91在线免费网站| 精品久久久久久久久久国产| 国产91在线播放精品91| 欧美性开放视频| 成人激情电影一区二区| 91香蕉国产在线观看| 欧美孕妇与黑人孕交| 亚洲欧美另类在线观看| 久久电影一区二区| 奇门遁甲1982国语版免费观看高清| 不卡av日日日| 国产精品国产三级国产aⅴ9色| 国产不卡av在线| 91久久久在线| 国产丝袜视频一区| 亚洲视频视频在线| 亚洲亚裔videos黑人hd| 成人免费视频在线观看超级碰| 中日韩美女免费视频网址在线观看| 在线播放日韩欧美| 午夜精品久久久久久99热软件| 2019国产精品自在线拍国产不卡| 日韩a**站在线观看| 国产mv免费观看入口亚洲| 亚洲精品理论电影| 97国产精品人人爽人人做| 日韩av在线不卡| 91精品国产91| 欧美另类老肥妇| 欧美成人全部免费| 日韩免费在线电影| 一区二区三区视频观看| 国产精品电影久久久久电影网| 97香蕉久久夜色精品国产| 欧美亚洲另类制服自拍| 欧美日韩中国免费专区在线看| 日本精品视频在线播放| 午夜美女久久久久爽久久| 国产精品va在线播放我和闺蜜| 亚洲精品网站在线播放gif| 日韩精品免费一线在线观看| 成人午夜在线视频一区| 91麻豆国产精品| 精品久久久一区二区| 国产精品久久久久9999| 国产精品日韩在线| 最近2019好看的中文字幕免费| 精品毛片三在线观看| 中日韩美女免费视频网站在线观看| 久久免费成人精品视频| 日韩电影免费在线观看中文字幕| 亚洲2020天天堂在线观看| 欧美在线视频一区| 亚洲精品国产综合区久久久久久久| 久久6精品影院| 国产综合香蕉五月婷在线| 国产精品第10页| 欧洲成人免费aa| 国产精品av在线播放| 国产成人av网| 色爱av美腿丝袜综合粉嫩av| 国产精品久久久久久久av大片| 国产成人精品a视频一区www| 中文字幕在线看视频国产欧美| 国内精久久久久久久久久人| 国产精品白嫩美女在线观看| 国产精品久久久久久av| 8x海外华人永久免费日韩内陆视频| 欧美日韩免费一区| 亚洲国产成人精品久久| 欧美视频裸体精品| 亚洲乱亚洲乱妇无码| 欧美视频中文在线看| 日韩av在线免费观看一区| 国产成人精品在线视频| 国产一区二区在线播放| 日韩精品视频免费在线观看| 久久亚洲精品小早川怜子66| 精品久久久久久中文字幕一区奶水| 精品呦交小u女在线| 中文字幕久热精品视频在线| 久久精品国产v日韩v亚洲| 欧美一级黑人aaaaaaa做受| 久久久精品久久久久| 亚洲女在线观看| 久久亚洲精品网站| 国产精品激情av电影在线观看| 国产精品第三页| 日韩中文字幕网址| 欧美有码在线观看视频| 日本不卡免费高清视频| yw.139尤物在线精品视频| 国产丝袜精品第一页| 亚洲欧美综合精品久久成人| 久久在线免费视频| 97超级碰在线看视频免费在线看| 国产一区二区三区中文| 国产成人亚洲综合91| 91精品免费视频| www国产精品视频| 91老司机精品视频| 国产精品影片在线观看| 性色av一区二区三区免费| 超碰日本道色综合久久综合| 成人中文字幕+乱码+中文字幕| 国产精品极品尤物在线观看| 日韩成人中文字幕在线观看|