目錄
PHP中isset与array_key_exists的区别实例分析
首頁 後端開發 php教程 PHP中isset与array_key_exists的区别实例分析_PHP教程

PHP中isset与array_key_exists的区别实例分析_PHP教程

Jul 13, 2016 am 09:52 AM
array exists isset key php 差別 實例分析

PHP中isset与array_key_exists的区别实例分析

   本文实例讲述了PHP中isset与array_key_exists的区别。分享给大家供大家参考。具体分析如下:

  1.对于数组值的判断不同,对于值为null或''或false,isset返回false,array_key_exists返回true;

  2. 执行效率不同,isset是内建运算符,array_key_exists是php内置函数,isset要快一些。请参考:PHP 函数实现原理及性能分析

  3.当用isset访问一个不存在索引数组值时,不会引起一个E_NOTICE的php错误消息;

  4.array_key_exists 会调用get_defined_vars判断数组变量是否存在,isset不用;

  测试代码:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

function

microtime_float()

{

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

$test_arr['aa']='dd';

$test_arr['bb']='';

$test_arr['cc']=NULL;

$test_arr['dd']=false;

$test_arr= array('aa'=>'dd','bb'=>'','cc'=>null,'dd'=>false);

echo "isset aa is ";var_dump(isset($test_arr['aa']));echo "\n";

echo "isset bb is ";var_dump(isset($test_arr['bb']));echo "\n";

echo "isset cc is ";var_dump(isset($test_arr['cc']));echo "\n";

echo "isset dd is ";var_dump(isset($test_arr['cc']));echo "\n";

echo "isset none is ";var_dump(isset($test_arr['none']));echo "\n";

echo "key_exist aa is ";var_dump(array_key_exists('aa',$test_arr));echo "\n";

echo "key_exist bb is ";var_dump(array_key_exists('bb',$test_arr));echo "\n";

echo "key_exist cc is ";var_dump(array_key_exists('cc',$test_arr));echo "\n";

echo "key_exist dd is ";var_dump(array_key_exists('dd',$test_arr));echo "\n";

echo "key_exist none is ";var_dump(array_key_exists('none',$test_arr));echo "\n";

$time_start = microtime_float();

for($i=0;$i

isset($test_arr['aa']);

}

$time_end = microtime_float();

$time = $time_end - $time_start;

echo "isset 100 is $time\n";

for($i=0;$i

isset($test_arr['aa']);

}

$time_end = microtime_float();

$time = $time_end - $time_start;

echo "isset 10000 is $time\n";

for($i=0;$i

isset($test_arr['aa']);

}

$time_end = microtime_float();

$time = $time_end - $time_start;

echo "isset 1000000 is $time\n";

//++++++++++++++++++++++++++++++

$time_start = microtime_float();

for($i=0;$i

array_key_exists('aa',$test_arr);

}

$time_end = microtime_float();

$time = $time_end - $time_start;

echo "array_key_exists 100 is $time\n";

for($i=0;$i

array_key_exists('aa',$test_arr);

}

$time_end = microtime_float();

$time = $time_end - $time_start;

echo "array_key_exists 10000 is $time\n";

for($i=0;$i

array_key_exists('aa',$test_arr);

}

$time_end = microtime_float();

$time = $time_end - $time_start;

echo "array_key_exists 1000000 is $time\n";

  希望本文所述对大家的php程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1009819.htmlTechArticlePHP中isset与array_key_exists的区别实例分析 本文实例讲述了PHP中isset与array_key_exists的区别。分享给大家供大家参考。具体分析如下: 1.对于数组...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

deepseek r1版本和v3版本有什麼區別 deepseek r1版本和v3版本有什麼區別 Feb 19, 2025 pm 03:24 PM

deepseek r1版本和v3版本有什麼區別

DeepSeek使用常見問題匯總 DeepSeek使用常見問題匯總 Feb 19, 2025 pm 03:45 PM

DeepSeek使用常見問題匯總

比特幣有沒有股票?比特幣有股權嗎? 比特幣有沒有股票?比特幣有股權嗎? Mar 03, 2025 pm 06:42 PM

比特幣有沒有股票?比特幣有股權嗎?

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

您如何在PHP中解析和處理HTML/XML?

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

php程序在字符串中計數元音

盤前盤後交易有什麼區別?盤前盤後交易區別詳解 盤前盤後交易有什麼區別?盤前盤後交易區別詳解 Mar 03, 2025 pm 11:54 PM

盤前盤後交易有什麼區別?盤前盤後交易區別詳解

See all articles