Сравнение строк php с 0 integer возвращает true?

Возможный дубликат:
Почему PHP считает, что 0 равно строке?

У меня есть этот код:

$o['group'] = "prueba"; if( $o['group'] == 0){ die("test"); } 

Почему он печатает тест? как возможно, что строка равна нулю?

Solutions Collecting From Web of "Сравнение строк php с 0 integer возвращает true?"

если вы хотите, чтобы он точно соответствовал строке, попробуйте использовать точный тип трех равных знаков, например, так
if( $o['group'] === 0){
== всегда будет оценивать значение true при сравнении строки с целым числом 0

'string' == 0 также оценивает значение true, потому что любая строка преобразуется в целое число по сравнению с целым числом. Если PHP не может правильно преобразовать строку, тогда он будет оцениваться как 0. Таким образом, 0 равно 0, что равно true.

Отсюда

Используйте оператор сравнения с проверкой типа «===». Посмотрите здесь пример http://php.net/manual/en/language.operators.comparison.php и объясните, почему нечисловая строка по сравнению с нулем всегда возвращает true .