Open In App

PHP | Check if a number is prime

Last Updated : 10 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Given a number, we need to check whether it is prime or not in PHP. General approach for prime check is discussed here. In this article we will learn about how to check if a number is prime or not in PHP.

Examples: 

Input : 21
Output : Not Prime

Input : 31
Output : Prime
 

Simple Method: 
A simple solution is to iterate through all numbers from 2 to n/2 and for every number check if it divides n. If we find any number that divides, we return 0 (false) otherwise we will return 1 (true). 

Below is the implementation of this approach in PHP:  

PHP




<?php
// PHP code to check whether a number is prime or Not
// function to check the number is Prime or Not
function primeCheck($number){
    if ($number == 1)
    return 0;
    for ($i = 2; $i <= $number/2; $i++){
        if ($number % $i == 0)
            return 0;
    }
    return 1;
}
 
// Driver Code
$number = 31;
$flag = primeCheck($number);
if ($flag == 1)
    echo "Prime";
else
    echo "Not Prime"
?>


Output: 

Prime

Time Complexity: O(n)

Efficient Method: 
We can optimize the above approach by observing that, instead of checking till n, we can check till sqrt(n) because a larger factor of n must be a multiple of smaller factor that has been already checked.
So, we will traverse in the range [2,sqrt(number)] to check if the number is divisible by any number or not. If it is divisible the its not a prime number.

Below is the implementation of this approach in PHP:  

PHP




<?php
// PHP code to check whether a number is prime or Not
// function to check the number is Prime or Not
function primeCheck($number){
    if ($number == 1)
    return 0;
     
    for ($i = 2; $i <= sqrt($number); $i++){
        if ($number % $i == 0)
            return 0;
    }
    return 1;
}
 
// Driver Code
$number = 31;
$flag = primeCheck($number);
if ($flag == 1)
    echo "Prime";
else
    echo "Not Prime"
?>


Output: 

Prime

Time Complexity: O(sqrt(n))
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads