PHP 入门:for,while,foreach 遍历时间比较的详解
本文为大家将为大家讲述
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
;