Чем отличается == от ===?

Ответ

== - нестрогое сравнение: PHP приводит типы перед сравнением. === - строгое сравнение: проверяет и значение, и тип.

0 == "foo"    // true в PHP 7, false в PHP 8
0 == ""       // true в PHP 7, false в PHP 8
"" == null    // true
"0" == false  // true
"0" == null   // false
0 === "0"     // false (int !== string)
1 === true    // false (int !== bool)
null === false // false

Всегда используйте === если не нужно намеренное приведение типов. Аналогично, !== вместо !=. В PHP 8 сравнение 0 == "foo" изменилось (теперь false), но == все равно опасен.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.