В PHP вы можете сравнивать два значения, используя оператор == или ===. Разница заключается в следующем:
PHP - это динамический интерпретируемый язык, не строгий в отношении типов данных. Это означает, что сам язык будет пытаться преобразовывать типы данных, когда это необходимо.
echo 4 + "2"; // output is 6
Вывод имеет целочисленное значение 6, потому что +
является оператором сложения чисел в PHP, поэтому, если вы предоставите ему операнды с другими типами данных, PHP сначала преобразует их в соответствующий тип («2» будет преобразовано 2) и затем выполните операцию.
Если вы используете == в качестве оператора сравнения с двумя операндами, которые могут иметь разные типы данных, PHP преобразует второй тип операнда в первый. Итак:
4 == "4" // true
PHP преобразует «4» в 4, а затем сравнивает значения. В этом случае результат будет верным.
Если вы используете === в качестве оператора сравнения, PHP не будет пытаться преобразовать какие-либо типы данных. Поэтому, если типы операндов различны, они НЕ идентичны.
4 === "4" // false