Mohammad Masoudian - 1 year ago 79

PHP Question

I need to find prime numbers with for loop or while loop

I wrote this but this is wrong

`<?php`

$i = 1;

while($i<5)

{

for($j=1; $j<=$i; $j++)

{

if ($j != 1 && $j != $i)

{

echo $i . "/" . $j . "=" . $i%$j . "<br />";

if ($i%$j != 0)

{

echo $i . "<br />";

}

}

}

echo "<br />";

$i += 1;

}

?>

Is there a way to divide a number with an array to find the remaining?

Answer Source

Here's a little function that I found: (http://icdif.com/computing/2011/09/15/check-number-prime-number/) Seemed to work for me!

```
function isPrime($num) {
//1 is not prime. See: http://en.wikipedia.org/wiki/Prime_number#Primality_of_one
if($num == 1)
return false;
//2 is prime (the only even number that is prime)
if($num == 2)
return true;
/**
* if the number is divisible by two, then it's not prime and it's no longer
* needed to check other even numbers
*/
if($num % 2 == 0) {
return false;
}
/**
* Checks the odd numbers. If any of them is a factor, then it returns false.
* The sqrt can be an aproximation, hence just for the sake of
* security, one rounds it to the next highest integer value.
*/
for($i = 3; $i <= ceil(sqrt($num)); $i = $i + 2) {
if($num % $i == 0)
return false;
}
return true;
}
```