深入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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
第十一节 重载 [11]
Oct 09 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
Jul 17 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
Apr 20 PHP
php新建文件的方法实例
Sep 26 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 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
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
用函数读出数据表内容放入二维数组
2006/10/09 PHP
PHP页面间传递参数实例代码
2008/06/05 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
JavaScript 原型与继承说明
2010/06/09 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
移动端界面的适配
2017/01/11 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
低版本中Python除法运算小技巧
2015/04/05 Python
讲解Python中的递归函数
2015/04/27 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python实现音乐下载的统计
2018/06/20 Python
Python File(文件) 方法整理
2019/02/18 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
python多线程使用方法实例详解
2019/12/30 Python
Python守护进程实现过程详解
2020/02/10 Python
Python的collections模块真的很好用
2021/03/01 Python
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
大学生应聘求职信
2014/05/26 职场文书
美术教师求职信范文
2015/03/20 职场文书
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技