<?php
function microtime_float() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
for($i = 1;$i <= 10000;$i++) {
$data_1[$i] = 1;
}
for($i = 1001;$i <= 600000;$i++) {
$data_2[$i] = 1;
}
$time_start = microtime_float();
$num = 0;
foreach ($data_1 as $key => $value) {
if ($data_2[$key]) {
$num++;
}
}
echo $num;
$time_end = microtime_float();
$delta_time = $time_end - $time_start;
echo '程序总用时:'.round($delta_time, 3).'秒。';
$time_start = microtime_float();
$num = 0;
foreach ($data_2 as $key => $value) {
if ($data_1[$key]) {
$num++;
}
}
echo $num;
$time_end = microtime_float();
$delta_time = $time_end - $time_start;
echo '程序总用时:'.round($delta_time, 3).'秒。';
?>
结果:9000程序总用时:0.003秒。9000程序总用时:0.595秒。
foreach放小的数组,速度比较快。