Логика описана в мануале. Ты сраниваешь строку с числом операцией "==" которая выполняет автоматическое приведение типа. В твоем случае строка переводится в число. Поскольку содержимое не является валидным строковым представлением числа, то получаем ноль. Т.е. "0 == 0". Что это, если не true?
Еще рез: книжки -- читать; траву -- курить. Не наоборот.