Всё правильно. Идет несторогое сравнение.
Запустите var_dump("a" == 0);
Затем, почитайте:
php.net/manual/en/language.types.type-juggling.php
php.net/manual/en/types.comparisons.php
// EDIT
Опять же, всё описано в документации. Её всю надо изначально прочитать - как минимум, разделы про типы данных, сравнения, операторы, базовые функции для работы со строками, массивами, числами.
php.net/manual/en/language.operators.comparison.php
If you compare a number with a string or the comparison involves numerical strings, then each string is converted to a number and the comparison performed numerically
// EDIT2
Последняя моя цитата как раз из того же места, откуда Ваш пример. Вы просто не читаете.