关闭

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

474人阅读 评论(0) 收藏 举报
分类:

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9506次
    • 积分:302
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:4篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论
  • 贪吃蛇游戏

    linyutu: 忘说方向控制键了:1、可以用方向箭头键 2、可以用A、D、W、S来表示左、右、前进、后退