是不是要用array_key_exists函数

在PHP中判断一个数组的特定索引的值是否存在,通常会用array_key_exists()函数。但是我们可能更熟悉另一个判断变量是否存在的函数isset(),当然我们也可以用isset()来判断数组中的值是否设置。

比如:

$a = array('site'=>'blog.webfuns.net');

isset($a['site']);
//同:array_key_exists('site', $a);

两种方法都能达到同样的目的,但是通过测试发现isset()函数的效率更高。


$a = range(1,1000);
$a['tom'] = 'heng';
$begin = microtime(true);
for($i=0; $i<100000; $i++){ array_key_exists('tom', $a); } $end = microtime(true); for($i=0; $i<100000; $i++){ isset($a['tom']); } $end2 = microtime(true); echo $end - $begin; echo '
';
echo $end2 - $end;

测试结果:

0.053144931793213
0.014554023742676

可以看到isset()函数的效率要高四倍左右,这下知道以后该怎么办了吧。

发表评论

电子邮件地址不会被公开。 必填项已用*标注