Friday, 10 August 2018

Odd and Even Numbers in PHP

To find if a number is odd or even you can use one of two operators.
The modulo operator (% in PHP) can be used to calculate the remainder of the value divided by 2. This gives a value of 0 for even numbers and a value of 1 for odd numbers. This can be used in an if statement as 0 will equate to false and 1 will equate to true.
  1. $value = 10;
  2. if($value%2){
  3. echo '$value is odd';
  4. }else{
  5. echo '$value is even';
  6. }
The second method is to use the & (AND) operator with the number 1. This will perform a bitwise calculation on the number and 1, returning 0 if the number is even and 1 if the number is false. So using the same if statement logic as before we can write.
  1. $value = 10;
  2. if($value&1){
  3. echo '$value is odd';
  4. }else{
  5. echo '$value is even';
  6. }
This method gives better performance than using modulo as it uses bitwise calculations that are native to computers.
Finally, you can use the is_long() function to see if the value you return from the division of the number by 2 has a remainder. This is a slightly longer (and more resource intensive) way of doing it than using modulo, but it works.
  1. // prints bool(true)
  2. // prints bool(false)

0 comments:

Post a Comment