我有一個素數計算。現在我想知道PHP計算需要多長時間。在計算之前和之後,我已經採取了兩次microtimes,並將其減掉。但結果與我的觀察不符。我必須等待兩秒鐘才能得到結果,但計算結果表示0,004毫秒。爲什麼如此以及如何獲得真正的持續時間?如何計算以PHP計算的持續時間
$prim_arr = array();
$start = time();
for ($i = 1; $i <= 20000; $i++) {
$result = NULL;
for ($x = 2; $x < $i; $x++) {
if(!($i % $x)){
$result = $i;
break;
}
}
if (!$result) $prim_arr[] = $i;
}
$end = time();
echo (($end - $start)/1000)." ms";
print_r($prim_arr);
其他人已經回答了關於time()/ microtime()的問題。你找到素數的方法很幼稚。你只需要在內部循環迭代到int($ i/2)。 Eratosthenes的篩子將更快 - 請參閱http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes。有更好的算法來尋找素數(主要假設你不需要一個完整的集合) – symcbean
你可以使用[microtime](http://php.net/manual/en/function.microtime.php) – xdazz