麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php empty(), isset(), is_null()函數用法實例

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

在php中empty(),isset(),is_null()三個函數在很多朋友看來都差不多,但我們簡單想一下好像又不同,一個空值,一個是否是一個變量,是否為null,下面我來舉例來說明.

很多人對于 PHP 的 empty(),isset() 及 is_null() 三個函數的用法比較模糊,網上的資料也很多,但未必能講的清楚,下面給出一個測試實例,對于理解這三個函數的區別會有很大的好處.

測試的類型如下:

  1. <?php 
  2. $a
  3. $b = false; 
  4. $c = ''
  5. $d = 0; 
  6. $e = null; 
  7. $f = array(); 
  8. ?> 

empty(),代碼如下:

  1. <?php 
  2. var_dump(emptyempty($a)); 
  3. var_dump(emptyempty($b)); 
  4. var_dump(emptyempty($c)); 
  5. var_dump(emptyempty($d)); 
  6. var_dump(emptyempty($e)); 
  7. var_dump(emptyempty($f)); 
  8. ?>
  9. // 輸出 
  10. bool(true) 
  11. bool(true) 
  12. bool(true) 
  13. bool(true) 
  14. bool(true) 
  15. bool(true) 

從代碼中可以看出,只要數據類型是否為空或假,empty()就輸出true.

isset(),代碼如下:

  1. <?php 
  2. var_dump(isset($a)); 
  3. var_dump(isset($b)); 
  4. var_dump(isset($c)); 
  5. var_dump(isset($d)); 
  6. var_dump(isset($e)); 
  7. var_dump(isset($f)); 
  8. ?>
  9. // 輸出Vevb.com
  10. bool(false) 
  11. bool(true) 
  12. bool(true) 
  13. bool(true) 
  14. bool(false) 
  15. bool(true) 

可以看出isset()只能用來判斷是否為NULL和未定義.

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

當要 判斷一個變量是否已經聲明的時候 可以使用 isset 函數

當要 判斷一個變量是否已經賦予數據且不為空 可以用 empty 函數

當要 判斷 一個變量 存在且不為空 先isset 函數 再用 empty 函數

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

  1. $id=0; 
  2.     emptyempty($id)?print "It's empty .":print "It's $id .";  
  3.       //結果:It's empty . 
  4.     print "<br>"
  5.     !isset($id)?print "It's empty .":print "It's $id ."
  6.       //結果:It's 0 . 

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

當一個php頁面的 URL 尾部參數出現 id=0 時(比如:test.php?id=0),試比較,代碼如下 :

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

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

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

  1. if(emptyempty($id)) $id=1; 
  2.    print $id// 得到 1 
  3.  
  4.    if(!isset($id)) $id=1; 
  5. rint $id//得到 0 

is_null(),代碼如下:

  1. <?php 
  2. var_dump(is_null($a)); 
  3. var_dump(is_null($b)); 
  4. var_dump(is_null($c)); 
  5. var_dump(is_null($d)); 
  6. var_dump(is_null($e)); 
  7. var_dump(is_null($f)); 
  8. ?> 
  9.  
  10. // 輸出 
  11. bool(true) 
  12. bool(false) 
  13. bool(false) 
  14. bool(false) 
  15. bool(true) 
  16. bool(false) 

is_null 字面意思了.

由此可見 empty() 可以用來判定所有的數據類型是否為空或假,而 is_null 與 isset 基本一樣,只能用來判斷是否為NULL和未定義.

后來給大家附一張表,下面一張表可以很清楚的說明他們之間的關系:

變量                    empty          is_null          isset

$a=””                 true               false        true

$a=null                 true               true         false

var $a                  true              true           false

$a=array()              true               false          true

$a=false                true               false           true

$a=15                   false              false           true

$a=1                    false              false            true

$a=0                    true               false            true

$a=”0”                true               false            true

$a=”true”             false               false            true

$a=”false”            false               false            true

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄网站免费观看视频 | 欧美 日韩 中文 | 免费在线看a | 狠狠干夜夜操 | 中文字幕免费看 | 在线中文日韩 | 7777在线观看 | 国产精品久久久久久久久久妇女 | 国产精品一区二区三区在线看 | 日本aaaa片毛片免费观看视频 | 色视频一区二区 | 欧美精品一区自拍a毛片在线视频 | 欧美精品一区二区久久 | 国产色片在线观看 | 毛片118极品美女写真 | 极品美女一级毛片 | 成年免费视频黄网站在线观看 | 欧美a黄 | 黑人一级片视频 | 91精品国产综合久久久动漫日韩 | av影院在线播放 | 欧美在线观看视频一区 | 日韩毛片在线看 | 欧美一级电影网站 | 久久99亚洲精品 | 鸳鸯谱在线观看高清 | 一级黄色片武则天 | 欧美国产日韩在线 | 毛片在线视频观看 | 成人免费毛片在线观看 | 日韩视频www | 国产日韩在线观看一区 | 亚洲国产高清一区 | 久久亚色 | 手机免费看一级片 | 操碰97| 欧美激情猛片xxxⅹ大3 | av在线电影网站 | 中文字幕精品一区久久久久 | 欧美中文字幕一区二区三区亚洲 | 一级在线视频 |