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

yipeiwu_com6年前PHP代码库
这个是从别人空间里看来的,不过自己还真从来没这么做过他们三者之间的比较,今天也学习了一下。
复制代码 代码如下:

<?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数组式访问接口ArrayAccess用法分析

本文实例讲述了PHP数组式访问接口ArrayAccess用法。分享给大家供大家参考,具体如下: PHP  ArrayAccess接口又叫数组式访问接口,该接口的作用是提供像访问...

openPNE常用方法分享

复制代码 代码如下: <?php include_partial('sidemenu',array('form'=>'asdfgasgsad'));?>这句话意思是包含...

PHP中ltrim与rtrim去除左右空格及特殊字符实例

本文实例分析了PHP中ltrim与rtrim去除左右空格及特殊字符的用法。分享给大家供大家参考,具体如下: 一、PHP中ltrim定义如下: ltrim(string,charlist)...

几个优化WordPress中JavaScript加载体验的插件介绍

WordPress 本身以及主题和插件通常需要加载一些 JavaScript 来实现某些特殊功能。为了最大限度地保证兼容性,不至于出现 JavaScript 失效的情况,所以一般在页头加...

php上传功能集后缀名判断和随机命名(强力推荐)

不废话了,具体请看下文代码示例讲解。 form.php <html> <head> <meta http-equiv="content-type"...