The problem here is the expression if ( $year / 4 ). This test will return true as long as it is a valid division, which in this case is true for all values of $year. What you want is a test that returns true when the division does not give any remainder. You can use the modulo operator for this: