background image

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

;