Что означает оператор сравнения!== в PHP?
Я видел
if($output !== false){
}
Это восклицательный знак с двумя знаками равенства.
Это почти работает, как не равны. Имеет ли это какое-то дополнительное значение?
5 ответов
Это операторы строгого равенства ( ===,!==), оба операнда должны иметь одинаковый тип и значение, чтобы результат был истинным.
Например:
var_dump(0 == "0"); // true
var_dump("1" == "01"); // true
var_dump("1" == true); // true
var_dump(0 === "0"); // false
var_dump("1" === "01"); // false
var_dump("1" === true); // false
Дополнительная информация:
Оператор PHP === позволяет сравнивать или проверять переменные как на равенство, так и на тип.
Так что!== есть (не ===)
!==
проверяет тип переменной, а также значение. Так, например,
$a = 1;
$b = '1';
if ($a != $b) echo 'hello';
if ($a !== $b) echo 'world';
будет выводить просто "мир", как $a
является целым числом и $b
это строка
Вы должны проверить страницу руководства по операторам PHP, у нее есть несколько хороших объяснений.
Смотрите этот вопрос: Чем отличаются операторы сравнения равенства (==) и тождества (===)?,
'!==' - строгая версия не равная. Т.е. он также проверит тип.
Да, он также проверяет, что два значения имеют одинаковый тип. Если $output равен 0, то!== вернет false, потому что они не оба числа или логические значения.