How to check if a number is prime in PHP

2 Answers

0 votes
function isPrime($n) {
    if ($n == 0) return 0;
    if ($n == 1) return 0;
    
    for ($i = 2; $i <= sqrt($n); $i++) {
        if ($n % $i == 0) {
            return 0;
        }
    }
    
    return 1;
}
   
for ($i = 0; $i < 20; $i++) {
    $n = rand(1, 100);
    if (isPrime($n)) {
        echo $n . " - Prime\n";
    }
    else {
        echo $n . " - Not Prime\n";
    }
}

     
     
/*
run:
      
36 - Not Prime
16 - Not Prime
4 - Not Prime
94 - Not Prime
3 - Prime
59 - Prime
37 - Prime
16 - Not Prime
100 - Not Prime
24 - Not Prime
28 - Not Prime
58 - Not Prime
18 - Not Prime
33 - Not Prime
43 - Prime
2 - Prime
27 - Not Prime
61 - Prime
93 - Not Prime
76 - Not Prime
      
*/

 



answered Feb 26, 2016 by avibootz
edited May 18, 2024 by avibootz
0 votes
function isPrime($n) {
    if ($n < 2 || ($n % 2 == 0 && $n != 2)) {
        return 0;
    }
  
    $count = floor(sqrt($n));
    
    for ($i = 3; $i <= $count; $i += 2) {
        if ($n % $i == 0) {
            return 0;
        }
    }
    
    return 1;
}
 
     
$n = 97;
 
if (isPrime($n)) {
    echo "Prime number\n";
} else {
    echo "Not prime number\n";
}

 
 
/*
run:
  
Prime number
  
*/

 



answered May 18, 2024 by avibootz
...