- sqrt: documentation ( source)
<?php
function get_primes7($n) {
if ($n < 2) return array();
if ($n == 2) return array(2);
$s = array();
for($i = 3; $i <= $n; $i += 2)
$s[] = $i;
$mroot = sqrt($n);
$half = count($s);
$i = 0;
$m = 3;
while ($m <= $mroot) {
if ($s[$i]) {
$j = (int)(($m*$m - 3) / 2);
$s[$j] = 0;
while ($j < $half) {
$s[$j] = 0;
$j += $m;
}
}
$i = $i + 1;
$m = 2*$i + 3;
}
$res = array(2);
foreach ($s as $v) {
if ($v) {
$res[] = $v;
}
}
return $res;
}
$res = array();
for ($i = 1; $i <= 10; ++$i) {
$res = get_primes7(10000);
print "Found ".count($res)." prime numbers.\n";
}