深入for,while,foreach遍历时间比较的详解


Posted in PHP onJune 08, 2013

这个是从别人空间里看来的,不过自己还真从来没这么做过他们三者之间的比较,今天也学习了一下。

<?php
$arr = array();
for($i = 0; $i < 50000; $i++){
$arr[] = $i*rand(1000,9999);
}
function GetRunTime()
{
list($usec,$sec)=explode(" ",microtime());
return ((float)$usec+(float)$sec);
}
/*=============================================*/
$time_start = GetRunTime();
for($i = 0; $i < count($arr); $i++){
$str = $arr[$i];
}
$time_end = GetRunTime();
$time_used = $time_end - $time_start;
echo 'Used time of for:'.round($time_used, 7).'(s)<br /><br />';
unset($str, $time_start, $time_end, $time_used);
/*=============================================*/
$time_start = GetRunTime();
while(list($key, $val) = each($arr)){
$str = $val;
}
$time_end = GetRunTime();
$time_used = $time_end - $time_start;
echo 'Used time of while:'.round($time_used, 7).'(s)<br /><br />';
unset($str, $key, $val, $time_start, $time_end, $time_used);
/*=============================================*/
$time_start = GetRunTime();
foreach($arr as $key => $val){
$str = $val;
}
$time_end = GetRunTime();
$time_used = $time_end - $time_start;
echo 'Used time of foreach:'.round($time_used, 7).'(s)<br /><br />';
?>
PHP 相关文章推荐
php的header和asp中的redirect比较
Oct 09 PHP
提高PHP编程效率的53个要点(经验小结)
Sep 04 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 PHP
Drupal7中常用的数据库操作实例
Mar 02 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
Windows下php+mysql5.7配置教程
May 16 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 #PHP
处理单名多值表单的详解
Jun 08 #PHP
探讨fckeditor在Php中的配置详解
Jun 08 #PHP
php创建基本身份认证站点的方法详解
Jun 08 #PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 #PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 #PHP
探讨方法的重写(覆载)详解
Jun 08 #PHP
You might like
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
php中使用sftp教程
2015/03/30 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
javascript实现数独解法
2015/03/14 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
python中os操作文件及文件路径实例汇总
2015/01/15 Python
详细解析Python当中的数据类型和变量
2015/04/25 Python
基于Django的python验证码(实例讲解)
2017/10/23 Python
python pandas库的安装和创建
2019/01/10 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
晚宴邀请函范文
2014/01/15 职场文书
网站创业计划书
2014/04/30 职场文书
土建施工员岗位职责
2014/07/16 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
节水宣传标语口号
2015/12/26 职场文书
党组织结对共建协议书
2016/03/23 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL