On compare an integer 0 with a string you'll get TRUE if the string isn't "1".
(See PHP documentation of Loose comparisons with ==)
var_dump(array(
'0 == "one"' => (0 == "one"),
'0 == "null"' => (0 == "null"),
'0 == "1"' => (0 == "1"),
'0 == "0"' => (0 == "0"),
'0 == ""' => (0 == ""),
));array(5) {
["0 == "one""] => bool(true),
["0 == "null""] => bool(true),
["0 == "1""] => bool(false),
["0 == "0""] => bool(true),
["0 == """] => bool(true),
}