PHP | check if a number is Even or Odd

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:

**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)**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)**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)