В PHP есть
if(!$foo)
эквивалентно
if($foo != true)
или с
if($foo !== true)
или это даже что-то совершенно другое из обоих?
if(!$foo)
является эквивалентом
if($foo != true)
так
$foo = null;
if(!$foo){
echo "asd";
}
выйдет «ASD»
Обратите внимание, что,
==
ИЛИ ЖЕ !=
сравнивает значения переменных на равенство, приведение типов по необходимости. ===
ИЛИ ЖЕ !==
проверяет, имеют ли две переменные одинаковый тип и имеют ли они одинаковое значение
Этот ответ даст вам лучшее объяснение этой концепции:
https://stackoverflow.com/a/80649/3067928
Это не тоже самое
!= is No equal (Returns true if is not equal)
!== is Not identical (Returns true if is not equal , or they are not of the same type)
$ a! = $ b
TRUE, если $ a не равно $ b после жонглирования типа.
$ a! == $ b
TRUE, если $ a не равно $ b или они не одного типа.
Увидеть жонглирование типов в PHP для получения дополнительной информации о жонглировании типа.
Источники: php.net