快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

华纳国际赌场:foreach、while、for性能比较



下面先让我们来测试一下合营遍历一个有50000个下标的一维数组所耗的光阴:

测试平台:

CPU:P-M 725

内存:512M

硬盘:40G 5400转

OS:Windows XP SP2

WEB:apache 2.0.54 php5.0.4华纳国际赌场

测试代码:

$val){

$str .= $val;

}

$time_end = GetRunTim华纳国际赌场e();

$time_used = $华纳国际赌场time_end - $time_start;

echo 'Used time of foreach:'.round($time_used, 7).'(s)

';

######################################

?>

测试结果:

将三次测试结果求匀称值:

分手对应for、while、f华纳国际赌场oreach

0.1311650

0.1666853

0.1237440

颠末反复多次测试,结果注解,对付遍历同样一个数组,华纳国际赌场foreach速率最快,最慢的则是while。foreach比while大年夜约快20% ~ 30%阁下。随后再把数组下标增添到500000、5000000测试结果也一样。但从道理上来看,foreach是对数组副本进行操作(经由过程拷贝数组),而while则经由过程移动数组内部指标进行操作,一样平常逻辑下觉得,while应该比foreach快(由于foreach在开始履行的时刻首先把数组复制进去,而while直接移动内部指标。),但结果刚刚相反。缘故原由应该是,foreach是PHP内部实现,而while是通用的轮回布局。

以是,在平日利用中我更爱好用foreach形式,简单,而且效率高。在PHP5下, foreach还可以遍历类的属性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: