В чём разница между == и === в PHP?
== сравнивает значения после приведения типов, === дополнительно требует совпадения типов. Нестрогое сравнение даёт известные сюрпризы: до PHP 8 выражение "abc" == 0 было истинным, а "1e2" == "100" истинно до сих пор, потому что обе строки выглядят числами. Правило в продакшене простое — всегда ===, если нет конкретной причины поступить иначе.