首页 > 代码库 > PHP 中数组函数 isset 效率比 array_key_exists 更高
PHP 中数组函数 isset 效率比 array_key_exists 更高
PHP 中数组函数 isset 效率比 array_key_exists 更高PHP 浏览:4194 2014年04月05日isset
和 array_key_exists
函数都可以用来测试数组中变量是否存在:
if(isset($array[$i])){ echo "存在"; }
if(array_key_exists($i, $array)) { echo "存在"; }
那么这两个函数有什么区别呢?经过测试:
- 当数组个数为10时,两者差异就体现出来了,
isset
速度要快近10倍,但不是很明显,而且对于变量是否存在,两者之间的差异没有太大,当变量存在时运行更快,但是这种趋势在是非常微弱的。 - 使用
array_key_exists
随着循环的次数增加,程序运行的时间增加量是成几何级数增加的,当一个数组元素个数超过1000时运行速度就非常慢了。
所以 isset
和 array_key_exists
在对判断一个数组函数中某个元素是否存在,isset
速度要更快,而且这种速度差异是非常大的。
由于 isset
属于 php 中的语言结构,而 array_key_exists
是函数,所以 isset
更快。并且isset
在其他语言中也存在,更具可读性。
另外对于变量值的判断,当变量为NULL时,isset
返回的结果是 false,而 array_key_exists
只判断变量是否存在。所以如果判断一个数组中的某个元素,并且判断其是否是否为真,应该用isset
。
来源: http://blog.wpjam.com/m/isset-is-more-efficient-than-array_key_exists/
来自为知笔记(Wiz)
isset
和 array_key_exists
函数都可以用来测试数组中变量是否存在:
if(isset($array[$i])){ echo "存在"; }
if(array_key_exists($i, $array)) { echo "存在"; }
那么这两个函数有什么区别呢?经过测试:
- 当数组个数为10时,两者差异就体现出来了,
isset
速度要快近10倍,但不是很明显,而且对于变量是否存在,两者之间的差异没有太大,当变量存在时运行更快,但是这种趋势在是非常微弱的。 - 使用
array_key_exists
随着循环的次数增加,程序运行的时间增加量是成几何级数增加的,当一个数组元素个数超过1000时运行速度就非常慢了。
所以 isset
和 array_key_exists
在对判断一个数组函数中某个元素是否存在,isset
速度要更快,而且这种速度差异是非常大的。
由于 isset
属于 php 中的语言结构,而 array_key_exists
是函数,所以 isset
更快。并且isset
在其他语言中也存在,更具可读性。
另外对于变量值的判断,当变量为NULL时,isset
返回的结果是 false,而 array_key_exists
只判断变量是否存在。所以如果判断一个数组中的某个元素,并且判断其是否是否为真,应该用isset
。
来源: http://blog.wpjam.com/m/isset-is-more-efficient-than-array_key_exists/
PHP 中数组函数 isset 效率比 array_key_exists 更高
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。