3v4l.org

run code in 300+ PHP versions simultaneously
<?php function generatePrimesA($n) { $primes = [2]; for ($i = 3; $i < $n; $i += 2) { foreach ($primes as $prime) { if ($i % $prime == 0) { continue 2; } } $primes[] = $i; } return $primes; } function generatePrimesB($max) { $primes = range(2, $max); for ($i = 0; pow($primes[$i], 2) < $max; $i++) { $prime = $primes[$i]; $primes = array_filter($primes, function($p) use ($prime) { return $p % $prime == 0; }); } return $primes; } var_dump(count(generatePrimesA(1000))); var_dump(count(generatePrimesB(1000))); var_dump(array_diff(generatePrimesA(1000), generatePrimesB(1000)));

preferences:
34.64 ms | 402 KiB | 5 Q