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

首頁 > 語言 > PHP > 正文

php數組判斷鍵值是否存在示例

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

PHP 檢測數組是否存在某個鍵值 判斷數組索引是否存在 array_key_exists();

bool array_key_exists ( mixed key, array search )

  1. <?php
  2. /*
  3. array_key_exists() 在給定的 key 存在于數組中時返回 TRUE。key 可以是任何能作為數組索引的值。
  4. *
  5. $search_array = array("first" => 1, "second" => 4);
  6. if (array_key_exists("first"$search_array)) {
  7.    echo "The 'first' element is in the array";
  8. }
  9. ?> 

網上說還有empty,isset也可以來驗證key值是否存在

empty: 參數為0或為NULL時(如上面列子),empty均返回TRUE,詳細情況可以參見empty官方手冊

isset: 參數為NULL時,返回FALSE,0與NULL在PHP中是有區別的,isset(0)返回TRUE

  1. <?php 
  2.  
  3. $a = array('a'=>1, 'b'=>0, 'c'=>NULL); 
  4.  
  5. echo 'a test by empty: ' , emptyempty($a['a']) ? 'not exist' : 'exist', PHP_EOL; 
  6.  
  7. echo 'a test by isset: ' , isset($a['a']) ? 'exist' : 'not exist', PHP_EOL; 
  8.  
  9. echo 'a test by array_key_exists: ' , array_key_exists('a'$a) ? 'exist' : 'not exist', PHP_EOL, PHP_EOL; 
  10.  
  11. echo 'b test by empty: ' , emptyempty($a['b']) ? 'not exist' : 'exist', PHP_EOL; 
  12.  
  13. echo 'b test by isset: ' , isset($a['b']) ? 'exist' : 'not exist', PHP_EOL; 
  14.  
  15. echo 'b test by array_key_exists: ' , array_key_exists('b'$a) ? 'exist' : 'not exist', PHP_EOL, PHP_EOL; 
  16.  
  17. echo 'c test by empty: ' , emptyempty($a['c']) ? 'not exist' : 'exist', PHP_EOL; 
  18.  
  19. echo 'c test by isset: ' , isset($a['c']) ? 'exist' : 'not exist', PHP_EOL; 
  20.  
  21. echo 'c test by array_key_exists: ' , array_key_exists('c'$a) ? 'exist' : 'not exist', PHP_EOL, PHP_EOL; 
  22.     輸出結果如下: 
  23.     ======================================================== 
  24.     a test by emptyempty: exist 
  25.     a test by isset: exist 
  26.     a test by array_key_exists: exist 
  27.       
  28.     b test by emptyempty: not exist 
  29.     b test by isset: exist 
  30.     b test by array_key_exists: exist 
  31.       
  32.  
  33. c test by emptyempty: not exist 
  34.     c test by isset: not exist 
  35.     c test by array_key_exists: exist 

三種方式的語法區別

empty: 參數為0或為NULL時(如上面列子),empty均返回TRUE,詳細情況可以參見empty官方手冊

isset: 參數為NULL時,返回FALSE,0與NULL在PHP中是有區別的,isset(0)返回TRUE

array_key_exists: 純粹的判斷數組鍵值對是否存在,無論值是多少

所以,從準確性的角度來看,array_key_exists是最準確的!

三種方式的性能比較

從網上拿到一組數據,參見這里或參考資料,如下所示:

For a small array:

array_key_exists: float(0.18357992172241)

empty: float(0.072798013687134)

isset: float(0.070242881774902)

For a relative big array:

array_key_exists: float(0.57489585876465)

empty: float(0.0068421363830566)

isset: float(0.0069410800933838)

可以看到在大數據情況下,empty和isset的性能比array_key_exists快了2個數量級,差別還是很大。如果頻繁判斷,還是需要優化。產生這么大性能差別的原因,個人猜測,可能是isset和empty作為php語法結構不是函數,php解釋器做了優化,而array_key_exists作為函數,沒有相關優化。具體原因,有待通過源碼考究。

三種方式的使用建議

(鑒于empty與isset性能類似,但是isset準確性較高,這里就只比較isset與array_key_exists)

如果數組不可能出現值為NULL的情況,建議使用isset

如果數組中經常出現值為NULL的情況,建議使用array_key_exists

如果數組中可能出現值為NULL,但是較少的情況,建議結合isset與array_key_exists使用,如“if (isset($arr[‘key’]) || array_key_exists(‘key’, $arr)){/*do somthing*/}”。此方法兼顧了性能和準確性,但是代碼變長了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品在线观看www| 日韩免费在线观看视频| 欧美另类极品videosbestfree| 亚洲精品一区在线观看香蕉| 黑人欧美xxxx| 国产98色在线| 欧美多人乱p欧美4p久久| 日韩在线观看成人| 日韩中文字幕在线精品| 国产女精品视频网站免费| 91精品综合视频| 久久久天堂国产精品女人| 国产日产欧美a一级在线| 国产精品日韩av| 日韩一区二区三区在线播放| 亚洲免费成人av电影| 精品成人久久av| 欧美黑人巨大xxx极品| 国产在线观看一区二区三区| 国产成人拍精品视频午夜网站| 国产精品国内视频| 日韩av快播网址| 亚洲精品福利在线观看| 日本不卡视频在线播放| 精品国产一区久久久| 国产精品成人免费视频| 红桃视频成人在线观看| 91在线观看免费高清完整版在线观看| 亚洲精品国产欧美| 久久久中文字幕| 91夜夜揉人人捏人人添红杏| 黑人巨大精品欧美一区二区| 91tv亚洲精品香蕉国产一区7ujn| 久久韩国免费视频| 久久精品一区中文字幕| 国产亚洲综合久久| 中文字幕日本精品| 久久视频在线看| 26uuu日韩精品一区二区| 另类天堂视频在线观看| 亚洲欧美中文日韩在线| 日韩高清电影免费观看完整版| 精品福利一区二区| 欧美人在线视频| 九九精品在线观看| 日韩欧美视频一区二区三区| 国产精品视频区1| 国产精品久久久久99| 亚洲一区第一页| 国产91免费看片| 亚洲一区中文字幕在线观看| 亚洲国语精品自产拍在线观看| 欧美国产视频一区二区| 成人免费网站在线| 国产欧美最新羞羞视频在线观看| 亚洲欧美成人一区二区在线电影| 国产成人精品av在线| 亚洲欧美日韩在线高清直播| 亚洲国产精品热久久| 欧美激情精品久久久久久变态| 国产精品欧美风情| 国产精品视频免费在线观看| 日韩国产精品亚洲а∨天堂免| 欧美性理论片在线观看片免费| 欧美国产精品人人做人人爱| 日本精品一区二区三区在线播放视频| 久久久www成人免费精品张筱雨| 美女av一区二区三区| 在线色欧美三级视频| 97色在线视频观看| 97精品一区二区三区| 亚洲综合在线做性| 在线观看成人黄色| 中文字幕免费精品一区高清| 欧美成人免费小视频| 26uuu另类亚洲欧美日本老年| 日韩免费在线视频| 欧美亚洲国产视频小说| 国产午夜精品视频| 欧美成人午夜剧场免费观看| 欧美性色视频在线| 国产精品扒开腿做爽爽爽视频| 成人在线观看视频网站| 亚洲国产中文字幕在线观看| 青青草精品毛片| 亚洲色图国产精品| www.欧美三级电影.com| 久久艹在线视频| 欧美日韩国产精品一区二区三区四区| 国产狼人综合免费视频| 亚洲精品久久久久中文字幕欢迎你| 日韩一区二区三区xxxx| 日本成人免费在线| 欧美成aaa人片在线观看蜜臀| 成人久久久久久久| 亚洲自拍偷拍区| 国产亚洲欧美日韩精品| 久久天天躁日日躁| 久久精品中文字幕免费mv| 国产精品久久久久久久久久99| 91亚洲国产成人精品性色| 国内揄拍国内精品| 国产精品91久久久| 精品久久在线播放| 国产精品第一第二| 伊人精品在线观看| 亚洲男人的天堂在线| 国产欧美一区二区| 一本一本久久a久久精品牛牛影视| 亚洲性无码av在线| xvideos成人免费中文版| 国产精品专区第二| 国产精品嫩草影院久久久| 日韩av影片在线观看| 国产精品福利在线| 久久久天堂国产精品女人| 91色在线视频| www国产精品视频| 欧美成人手机在线| 日韩激情第一页| 一区二区欧美久久| 川上优av一区二区线观看| 久久成人18免费网站| 91在线观看免费高清完整版在线观看| 亚洲高清在线观看| 欧美色视频日本高清在线观看| 69国产精品成人在线播放| 亚洲一区二区精品| 青青草99啪国产免费| 狠狠久久五月精品中文字幕| 国产亚洲欧美另类中文| 国产女人精品视频| 国产午夜精品麻豆| 国产精品久久久91| 欧美性猛交xxxx久久久| 亚洲色图偷窥自拍| 这里只有精品视频在线| 久久久亚洲福利精品午夜| 久久久久一本一区二区青青蜜月| 欧美激情国产日韩精品一区18| 欧美激情中文字幕乱码免费| 久青草国产97香蕉在线视频| 亚洲第一色在线| 亚洲精品av在线播放| 久久中文久久字幕| 成人国产精品日本在线| 欧洲亚洲女同hd| 亚洲码在线观看| 欧美国产日本在线| 欧美日韩精品在线播放| 一区二区中文字幕| 91社影院在线观看| 久久躁日日躁aaaaxxxx| 欧美日韩电影在线观看| 成人欧美一区二区三区黑人孕妇| 中文精品99久久国产香蕉| 欧美一级大片在线观看| 欧美有码在线观看视频| 亚洲性无码av在线| 亚洲男人天堂视频| 2020欧美日韩在线视频| 久久久国产视频| 亚洲色图欧美制服丝袜另类第一页| 国产亚洲精品一区二555|