я видел
if($output !== false){ }
Это восклицательный знак с двумя знаками равенства.
Он почти работает как не равный. Это имеет какое-то дополнительное значение?
Они являются строгими операторами равенства (===,! ==), два операнда должны иметь один и тот же тип и значение, чтобы результат был истинным.
Например:
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 === Operator позволяет сравнивать или тестировать переменные как для равенства, так и для типа.
Итак! == is (not ===)
!==
проверяет тип переменной, а также значение. Так, например,
$a = 1; $b = '1'; if ($a != $b) echo 'hello'; if ($a !== $b) echo 'world';
будет выводить только «мир», поскольку $a
является целым числом, а $b
– строкой.
Вы должны проверить страницу руководства на PHP-операторах , у нее есть хорошие объяснения.
См. Этот вопрос: Как отличаются операторы сравнения равенства (==) и идентичности (===)? ,
'! ==' – строгая версия, не равная. Т.е. он также будет проверять тип.
да, он также проверяет, что два значения одного типа. Если $ output равно 0, то! == вернет false, потому что это не оба числа или логические значения.