PHP数组函数array_key_exists()总结

PHP数组函数array_key_exists()总结
的array_key_exists()函数确定是否存在数组中指定的键,如果键存在,返回真,否则返回假
array_key_exists(关键,阵列);
关键是规定。

数组:有必要。指定输入的数组。
< PHP
美元=阵列(A = > 'dog,B = >里的);
如果(array_key_exists('a',$)){
echo'key存在!;
别的{ }
echo'key不存在!;
}
>

输出:键存在!

为什么比array_key_exists in_array更快

array_key_exists和in_array查询是不同的

array_key_exists确定是否有一个核心价值

(一array_key_exists,ARR)->如果(isset(ARR {一}))是真的

和in_array需要遍历遍历价值跳出循环

查询:

无论是一个数组的索引有一个单独的存储单元,并优化,时间复杂度是O(1),array_key_exists和in_array是O(N)。

追寻与回答:

这就是重复杂合性的方法
array_key_exists是确定键是否有价值

in_array必须遍历一次,得到同样的事情,不知道如何建立

在PHP设置和array_key_exists之间的差异

1。数组中的价值判断,为空值或假,isset返回FALSE,返回真,array_key_exists;

2。执行效率是不同的,定是一个内置的运营商,array_key_exists是内置函数,PHP,isset更快。参考:PHP的功能原理及性能分析

三.当设置用于访问的值不在索引数组存在,它不会导致e_notice PHP的错误信息;

4.array_key_exists称get_defined_vars确定数组变量的存在,问题是没有用的;

测试代码:
< PHP
功能
microtime_float()
{
列表(USEC美元美元,SEC)=爆炸(
返回((浮动)$ USEC +(浮动)$秒);
}
test_arr美元{ 'AA' } = 'dd;
test_arr美元{ 'BB' } =;
test_arr美元{ 'cc} = null;
test_arr美元{ 'dd} = false;
test_arr美元=阵列(AA= > 'dd,'BB' = >,'cc= >无效,'dd= >假);
回声isset AA;var_dump(isset($ test_arr { 'AA' }));echoN;
回声isset BB;var_dump(isset($ test_arr { 'BB' }));echoN;
回声isset CC;var_dump(isset($ test_arr { 'cc ' }));echoN;
回声时,DD是;var_dump(isset($ test_arr { 'cc ' }));echoN;
回声时,没有;var_dump(isset($ test_arr {不关' }));echoN;
回声key_exist AA;var_dump(array_key_exists(AA,test_arr美元));回声N;
回声key_exist BB;var_dump(array_key_exists('BB',test_arr美元));回声N;
回声key_exist CC;var_dump(array_key_exists('cc,test_arr美元));回声N;
回声key_exist DD;var_dump(array_key_exists('dd,test_arr美元));回声N;
回声key_exist没有;var_dump(array_key_exists(不关,test_arr美元));回声N;
time_start美元= microtime_float();
($ i = 0;$ i < 100;$ + +){
isset($ test_arr {AA});
}
time_end美元= microtime_float();
时间time_end美元美元美元time_start;
回声设置100美元的时间;
($ i = 0;$ i < 10000;$ + +){
isset($ test_arr {AA});
}
time_end美元= microtime_float();
时间time_end美元美元美元time_start;
回声设置10000美元的时间;
($ i = 0;$ i < 1000000;$ + +){
isset($ test_arr {AA});
}
time_end美元= microtime_float();
时间time_end美元美元美元time_start;
回声设置1000000美元的时间;
/ / ++++++++++++++++++++++++++++++
time_start美元= microtime_float();
($ i = 0;$ i < 100;$ + +){
array_key_exists(AA,test_arr美元);
}
time_end美元= microtime_float();
时间time_end美元美元美元time_start;
100美元array_key_exists回波时间;
($ i = 0;$ i < 10000;$ + +){
array_key_exists(AA,test_arr美元);
}
time_end美元= microtime_float();
时间time_end美元美元美元time_start;
10000美元array_key_exists回波时间;
($ i = 0;$ i < 1000000;$ + +){
array_key_exists(AA,test_arr美元);
}
time_end美元= microtime_float();
时间time_end美元美元美元time_start;
1000000美元array_key_exists回波时间;
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部