Что означает оператор сравнения!== в 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, потому что они не оба числа или логические значения.

Другие вопросы по тегам