我有一个素数计算。现在我想知道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