一般来说,我们都认为在遍历数组的时候,foreach有着无可匹敌的优势,
而for和while两者之间的执行效率则没有太大的差别。
事实如何,我将借助foreach、for、while三个函数来说明如何测试函数的执行效率。
注:案例出自《高性能PHP应用开发》
测试代码如下:
<?php
$items = array_fill(0,100000,'1234567890');
reset($items);
$start = microtime();//函数执行时间需要以毫秒来计算时的开始时间
//$i = 0;
foreach ($items as $item)
{
//$i++;
$x = $item;
}
echo microtime()-$start;//函数执行时间需要以毫秒来计算时的结束时间
/*
* foreach函数
* ---------------------------
foreach ($items as $item)
{
$x = $item;
}
***while函数
-------------------------------
$i = 0;
while ($i<100000)
{
$x = $items[$i];
$i++;
}
***for函数
------------------------------------
$i=0;
for(;$i<100000;)
{
$j = $items[$i];
$i++;
}
$start = date('H:i:s');//函数执行时间需要以秒来计算时的开始时间
$end = date('H:i:s');//函数执行时间需要以秒来计算时的结束时间
*/
?>
测试结果表明,在执行数组时,foreach的确有着无可比拟的优势,for与while则相差不大。
另外就是一些测试函数执行时间的方法,相信很容易理解。
而foreach之所以在执行数组时有着无可比拟的速度,是由于它少了“++”这个操作,以及不需要用到“数组变量[索引]”这种方式去取值。
来源:CSDN
作者:linyutu
链接:https://blog.csdn.net/linyutu/article/details/49908807