Find the Bug: Checking Even Numbers

Published by Helen Yu in

Create a function that takes in an array and returns true if all its values are even, and false otherwise.

Not a big deal, your friend says. He writes the following code:

function checkAllEven($arr) {
  return allEven($arr);
}

function allEven(array $values)
{
  foreach ($values as $v) {
    if (!$v % 2 == 0) {
      return false;
    }
  }
  return true;
}

The code above leads to an error. Fix the code above so that all tests pass:

Examples

checkAllEven([1, 2, 3, 4]) ➞ false

checkAllEven([2, 4, 6]) ➞ true

checkAllEven([5, 6, 8, 10]) ➞ false

checkAllEven([-2, 2, -2, 2]) ➞ true

Notes

N/A

Watch a quick demo on how Edabit works.