Skip to content
Related Articles

Related Articles

Improve Article

PHP | check if a number is Even or Odd

  • Last Updated : 26 Apr, 2018

A number is called even if the number is divisible by 2 and is called odd if it is not divisible by 2. Given a number, we need to check whether it is odd or even in PHP.

Examples :

Input : 42
Output : Even
Explanation: The number 42 is divisible by 2

Input : 39
Output : Odd
Explanation: The number 39 is not divisible by 2

We can solve this problem in two different ways as described below:

  1. Using modulo (%) operator: This is the simplest method of checking for even and odd and in this method, we simply check whether the number is divisible by 2 or not using the modulo ‘%’ operator.



    Below program explains the above approach:

    PHP




    <?php
    // PHP code to check whether the number 
    // is Even or Odd in Normal way
    function check($number){
        if($number % 2 == 0){
            echo "Even"
        }
        else{
            echo "Odd";
        }
    }
      
    // Driver Code
    $number = 39;
    check($number)
    ?>


    Output :
    Odd
    

    Time Complexity: O(1)

  2. Recursive method: In the recursive approach, we reduce the number by 2 in each recursive call. If the final number is 0 then its even or else it is 1, the result will be odd.
    Below is the implementation of above approach:

    PHP




    <?php
    // Recursive function to check whether
    // the number is Even or Odd 
    function check($number){
        if($number == 0)
            return 1;
        else if($number == 1)
            return 0;
        else if($number<0)
            return check(-$number);
        else
            return check($number-2);        
    }
      
    // Driver Code
    $number = 39;
    if(check($number))
        echo "Even";
    else
        echo "Odd";
    ?>


    Output :
    Odd
    

    Time Complexity: O(n)

  3. Using Bit Manipulation:
    In this method we will find bit-wise AND of the number with 1. If the bit-wise AND is 1, then the number is odd, else even.

    Below is the implementation of above idea.

    PHP




    <?php
    // PHP code to check whether the number 
    // is Even or Odd using Bitwise Operator
    function check($number)
    {
          
        // One
        $one = 1;
          
        // Bitwise AND
        $bitwiseAnd = $number & $one;
          
        if($bitwiseAnd == 1)
        {
            echo "Odd"
        }
        else{
            echo "Even";
        }
    }
      
    // Driver Code
    $number = 39;
    check($number)
    ?>


    Output :
    Odd
    

    Time Complexity: O(1)

Attention reader! Don’t stop learning now. Participate in the Scholorship Test for First-Step-to-DSA Course for Class 9 to 12 students.




My Personal Notes arrow_drop_up
Recommended Articles
Page :