- var_dump: documentation ( source)
- array_diff: documentation ( source)
<?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($n) {
$primes = [2];
$lastPrime = 2;
for ($i = 3; $i < $n; $i += $lastPrime) {
foreach ($primes as $prime) {
if ($i % $prime == 0) {
continue 2;
}
}
$primes[] = $i;
$lastPrime = $i;
}
return $primes;
}
var_dump(count(generatePrimesA(1000)));
var_dump(count(generatePrimesB(1000)));
var_dump(array_diff(generatePrimesA(1000), generatePrimesB(1000)));