Так PHP устроен. Если строка вычисляется как числовое значение (при арифметических и логических операциях), он ее конвертит.
Такой-же "глюк" попадается в switch() если не знать о конвертации.
См. конвертацию строк в мануале.
Кром, спасибо, но не то, по-моему.
Объясняется КАК строки приводятся к целым.
Я имел ввиду, - ПОЧЕМУ в этом случае они приводятся к целым. Не могу пока найти где указано, что = = требует целых даже в случае когда оба параметра строки.