国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > 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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旬邑县| 山丹县| 巨野县| 怀宁县| 博兴县| 中方县| 宁武县| 萨迦县| 高阳县| 南乐县| 启东市| 登封市| 高州市| 中江县| 香格里拉县| 沙坪坝区| 德令哈市| 泰顺县| 富川| 六枝特区| 扶风县| 鄂州市| 镶黄旗| 河北区| 巴青县| 新邵县| 慈溪市| 景洪市| 嘉峪关市| 南陵县| 大连市| 宁安市| 阿拉善右旗| 莱阳市| 巴林右旗| 毕节市| 都安| 邳州市| 邵武市| 山阳县| 峨眉山市|