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

首頁 > 語言 > PHP > 正文

PHP empty() isset() is_null() 區別與性能比較

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

在php中empty() isset() is_null()三個函數都是判斷是否為空的情況,但是如果我個要具體的深入去了解這個三個函數發現還是有許多的區別.

is_null(), empty(), isset(),這幾個函數以及 == ”,== array() 會在實際操作中經常用到,因為功能很類似,可能會忽視了他們的區別,一不小心就會給工作帶來很大的麻煩,下面將這幾種結構列出來,供自己和大家參考,鑒于表述的準確性,部分解釋來自英文原版手冊,避免中文手冊的更新不及時以及翻譯不當等問題。

is_null()

is_null(),bool,當參數滿足 null 的三種情況時,is_null() 將返回 TRUE。

null類型,以下情況將被認定為 NULL:

it has been assigned the constant NULL.

it has not been set to any value yet.

it has been unset().

source:http://cn2.php.net/manual/en/language.types.null.php

isset()

isset(),bool,用于判定參數是否被設定并且不是 NULL。參數只能是變量。

如果沒有設置變量,或者變量被 unset() 掉,或者變量值為 NULL ,返回 FALSE,其它情況返回 TRUE。即如果不是 NULL 就屬于 isset 的范疇了,這一點和 is_null() 函數正好相反。

如果傳遞多個參數,將取交集。即所有參數全部符合 isset() 時才返回 TRUE。

ps:defined(),bool,用于檢查常量是否被設置。

source:http://cn2.php.net/manual/en/function.isset.php

empty()

empty(),bool,主要用于判斷變量是否為空,參數只能是變量。

如下情況將被判定位空,代碼如下:

“” (an empty string)

0 (0 as an integer)

0.0 (0 as a float)

“0″ (0 as a string)

NULL

FALSE

array() (an empty array)

var $var; (a variable declared, but without a value in a class)

注:如果參數是未設置的變量,變量將被認定為 NULL,不會報錯,返回 TRUE。

但是注意在 5.0.0 之后,Objects with no properties are no longer considered empty.

source:http://cn2.php.net/manual/en/function.empty.php

判定是否為空的方式還有 ==”,== array() 等,比較有局限性,都沒什么好說的,測試的類型如下:

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

empty()

首先是empty的var_dump輸出:

  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. 程序輸出為: 
  11. bool(true) 
  12. bool(true) 
  13. bool(true) 
  14. bool(true) 
  15. bool(true) 
  16. bool(true) 
  17. */ 

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

isset()

再看看isset的輸出:

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

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

is_null()

最后是is_null的輸出:

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

is_null 字面意思了。

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

概括總結isset,empty,is_null區別:

剛才介紹的:檢查變量,以及參數類型,這個是這3個函數不同之處的基礎,也是最容易被忽視的,看到網上有很多對這個3個函數進行比較文章,很少涉及這些,下面我要說的,是在都檢查已存在變量情況下,不同之處,代碼如下:

  1. <?php 
  2. $a=100; 
  3. $b=""
  4. $c=null; 
  5. //isset檢查 
  6. echo "isset","$a=$a",isset($a)?"define":"undefine","rn"
  7. echo "isset","$b=$b",isset($b)?"define":"undefine","rn"
  8. echo "isset","$c=$c",isset($c)?"define":"undefine","rn"
  9. unset($b); 
  10. echo "isset","$b",isset($b)?"define":"undefine","rn"
  11. $b=0; 
  12. echo "rnrn"
  13. //empty檢查 
  14. echo "empty","$a=$a",!emptyempty($a)?"no empty":"empty","rn"
  15. echo "empty","$b=$b",!emptyempty($b)?"no empty":"empty","rn"
  16. echo "empty","$c=$c",!emptyempty($c)?"no empty":"empty","rn"
  17. unset($b); 
  18. echo "empty","$b",!emptyempty($b)?"no empty":"empty","rn"
  19. $b=0; 
  20. echo "rnrn"
  21. //is_null檢查 
  22. echo "is_null","$a=$a",!is_null($a)?"no null":"null","rn"
  23. echo "is_null","$b=$b",!is_null($b)?"no null":"null","rn"
  24. echo "is_null","$c=$c",!is_null($c)?"no null":"null","rn"
  25. unset($b); 
  26. echo "is_null","$b",is_null($b)?"no null":"null","rn"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人免费看黄网站| 亚洲自拍在线观看| 日本精品中文字幕| 欧美在线观看www| 欧美三级欧美成人高清www| 国产精品精品国产| 亚洲在线免费视频| 亚洲性av在线| 午夜精品国产精品大乳美女| 久久久久在线观看| 亚洲欧美国产高清va在线播| 91老司机精品视频| 久久91亚洲人成电影网站| 欧美精品在线免费观看| 久久久久久久国产| 亚洲精品黄网在线观看| 欧美伊久线香蕉线新在线| 欧美性生交xxxxxdddd| 国产精品久久久久久久久久久久久| 欧美在线观看一区二区三区| 欧美裸体视频网站| 在线观看日韩www视频免费| 92福利视频午夜1000合集在线观看| 欧美性69xxxx肥| 超在线视频97| 午夜精品99久久免费| 日韩欧美亚洲成人| 日韩经典一区二区三区| 国产亚洲一区二区精品| 亚洲欧美日韩综合| 91久久久久久久一区二区| 亚洲一区二区三区四区视频| 亚洲第一视频网| 欧美电影在线观看网站| 亚洲一区二区三区视频| 91精品国产91久久久久久吃药| 欧美精品免费看| 欧美成人午夜免费视在线看片| 在线精品国产成人综合| 成人网在线视频| 欧美乱妇40p| 色婷婷综合久久久久中文字幕1| 一本一本久久a久久精品牛牛影视| 欧美成人精品在线| 国产免费一区二区三区香蕉精| 日韩精品亚洲视频| 国产精彩精品视频| 国产精品视频久久| 国产欧美欧洲在线观看| 日本国产欧美一区二区三区| 欧美日韩成人网| 亚洲人成网站999久久久综合| 91精品久久久久久久久久久久久| 国产成人精品日本亚洲专区61| 久久精品国产免费观看| 日韩电影在线观看免费| 日韩**中文字幕毛片| 国产99视频精品免视看7| 日韩成人久久久| 日韩av综合网站| 97在线看福利| yellow中文字幕久久| 日韩中文在线中文网在线观看| 91极品女神在线| 精品色蜜蜜精品视频在线观看| 国产+成+人+亚洲欧洲| 亚洲欧美成人在线| 91免费精品国偷自产在线| 亚洲福利视频专区| 亚洲伊人久久大香线蕉av| 精品人伦一区二区三区蜜桃免费| 久久精品中文字幕电影| 日韩欧美一区二区在线| 久久久久久网站| 国产专区欧美专区| 久久久国产精彩视频美女艺术照福利| 色老头一区二区三区| 日韩精品欧美国产精品忘忧草| 在线日韩日本国产亚洲| 国产日产欧美a一级在线| 国产日韩中文在线| 欧美色欧美亚洲高清在线视频| 国产一区二区三区在线观看网站| 亚洲影院污污.| 97久久久免费福利网址| 亚洲男人天堂网站| 欧美成人精品一区二区三区| 久久久久久久久久久免费| 欧美在线视频在线播放完整版免费观看| 国产精品日韩电影| 北条麻妃一区二区三区中文字幕| 亚州av一区二区| 成人xxxx视频| 成人在线国产精品| 国产精品自拍网| 亚洲精品一区中文字幕乱码| 亚洲欧洲国产一区| 久久中文精品视频| 精品日本高清在线播放| 久久久亚洲国产天美传媒修理工| 亚洲欧美在线免费观看| 日本精品一区二区三区在线| 日韩在线免费av| 亚洲电影av在线| 欧美日韩性视频在线| 在线播放国产一区二区三区| 日韩二区三区在线| 欧美黄色片在线观看| 在线国产精品播放| 欧美激情精品久久久久久变态| 国语对白做受69| 欧美亚州一区二区三区| 国产精品自拍视频| 欧美在线视频在线播放完整版免费观看| 影音先锋日韩有码| 欧美日韩国产第一页| 色播久久人人爽人人爽人人片视av| 91九色视频导航| 日韩av最新在线观看| 欧美激情在线狂野欧美精品| 在线精品高清中文字幕| 欧美老女人bb| 日韩av有码在线| 亚洲日本欧美日韩高观看| 91成人在线视频| 欧美激情精品久久久久| 最新国产精品拍自在线播放| 欧美大片免费观看| 亚洲最新视频在线| 91在线高清视频| 国产精品久久久久久五月尺| 国产精品18久久久久久首页狼| 日韩最新在线视频| 亚洲欧美一区二区三区久久| 国产一区二区三区高清在线观看| 日韩久久午夜影院| 亚洲精品一区二三区不卡| www.久久草.com| 亚洲男人的天堂网站| 国产视频在线观看一区二区| 欧美午夜性色大片在线观看| 亚洲精品小视频在线观看| 亚洲视频网站在线观看| 日本高清视频一区| 精品av在线播放| 国产欧美一区二区三区视频| 亚洲精品一区二区在线| 国产精品大陆在线观看| 亚洲视频国产视频| 日本午夜在线亚洲.国产| 欧美精品videossex88| 亚洲的天堂在线中文字幕| 日韩av综合网站| 国产亚洲视频在线观看| 奇门遁甲1982国语版免费观看高清| 色老头一区二区三区在线观看| 美日韩精品视频免费看| 国产99久久精品一区二区 夜夜躁日日躁| 91人人爽人人爽人人精88v| 亚洲精品小视频在线观看| 精品国产91乱高清在线观看| 久久中文字幕一区| 亚洲a级在线播放观看| 久久综合亚洲社区|