函数执行效率测试(foreach、for、while)

前提是你 提交于 2019-12-09 04:55:45

一般来说,我们都认为在遍历数组的时候,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之所以在执行数组时有着无可比拟的速度,是由于它少了“++”这个操作,以及不需要用到“数组变量[索引]”这种方式去取值。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!