深入for,while,foreach遍历时间比较的详解
这个是从别人空间里看来的,不过自己还真从来没这么做过他们三者之间的比较,今天也学习了一下。
<?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 />';
?>
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
网安追踪流程
1.不用代理网民发帖流程:发帖人 → ISP → 服务器托管商 → 服务器网警追踪流程:网监 → 服务器IP →...
[阅读全文]
-
-
-
HTTP状态码大全
转自:https://www.cnblogs.com/lxinxuan/archive/2009/10/22/1...
[阅读全文]
-
-
-
-
-
网友评论