Жонглирование типов в PHP может иметь свои преимущества, но, на мой взгляд, это приводит к «опасным» недоразумениям.Другими примерами, которые не являются интуитивными, будут:
'abc' == 0;
0 == null;
'' == null;
1 == '1y?z'
Все они считаются верными в PHP по разным причинам.Я всегда рекомендую написать собственную функцию для проверки на равенство, которая работает так, как вы этого ожидаете (или у вас в голове есть вся матрица сравнения типов PHP ?);