Что означает "==="?

Я заметил, что кто-то использует PHP-оператор ===, от которого я не могу понять. Я пробовал это с функцией, и это соответствует сумасшедшим образом.

Каково определение этого оператора? Я даже не могу найти его в объявлении операторов PHP.

Ответ 1

$a === $b     (Identical)      

TRUE, если $a равно $b, и они одного типа. (введенный в PHP 4)

Документы PHP

Ответ 2

http://www.php.net/ternary

$a == $b Equal TRUE, если $a равно $b, за исключением (True == -1), который по-прежнему является True.

$a === $b Идентичный TRUE, если $a равно $b, и они одного типа.

> "5" == 5;
True
> "5" === 5;
False

Ответ 3

Вы можете прочитать здесь, краткое описание:

$a == $b Равный TRUE, если $a равно $b после манипуляции с типом.

$a === $b Идентичный TRUE, если $a равно $b, и они одного типа.

Ответ 4

В PHP вы можете сравнить два значения с помощью оператора == или ===. Разница заключается в следующем:

PHP - это динамический, интерпретируемый язык, который не является строгим по типам данных. Это означает, что сам язык будет пытаться преобразовывать типы данных, когда это необходимо.

echo 4 + "2"; // output is 6

Вывод - целочисленное значение 6, потому что + - это оператор с числовым добавлением в PHP, поэтому, если вы предоставляете ему операнды с другими типами данных, PHP сначала преобразует их в соответствующий тип ( "2" будет преобразован на 2), а затем выполните операцию.

Если вы используете == как оператор сравнения с двумя операндами, которые могут быть в разных типах данных, PHP преобразует второй тип операнда в первую очередь. Итак:

4 == "4" //true

PHP преобразует "4" в 4, а затем сравнивает значения. В этом случае результат будет правдой.

Если вы используете === как оператор сравнения, PHP не будет пытаться преобразовать любые типы данных. Поэтому, если типы операндов различны, тогда они НЕ идентичны.

4 === "4" //false

Ответ 5

$x == $y имеет значение TRUE, если значение $x и $y одинаково:

$x = 1; //int type
$y = "1"; //string type
if ($x == $y) {
    // This will execute
}

$x === $y ИСТИНА, если значение $x и $y одинаково и тип $x и $y одинаковы:

$x = 1; //int type
$y = "1"; //string type
if ($x === $y) {
    // This will not execute
}

Ответ 6

Вы увидите этот оператор на многих динамически типизированных языках, а не только на PHP.

== попытается преобразовать все, с чем он имеет дело, в типы, которые он может сравнить.

=== будет строго сравнивать тип и значение.

На любом динамически типизированном языке вы должны быть осторожны с ==, вы можете получить некоторые интересные ошибки.

Тернар === менее удобен, но безопаснее. Для сравнений вы всегда должны подумать над тем, должно ли оно быть === или ==

Ответ 7

Тройка равна знаку === проверок, чтобы увидеть равны ли две переменные и одного типа.

Ответ 8

См. Двойной и тройной равный оператор в PHP, который я получил для googling на "PHP three equals operator".

В какой-то момент говорится, что:

Знак double = является сравнением и проверяет, имеет ли переменная/выражение/константа влево то же значение, что и переменная/выражение/константа справа.

Тройка = знак - это сравнение, чтобы увидеть, равны ли две переменные/выражения/константы И имеют один и тот же тип - то есть оба являются строками или оба являются целыми числами.

Он также дает пример, чтобы объяснить это.

Ответ 9

Для PHP существует много разных значений, которые может принимать ноль

  • это может быть логическое значение false
  • это может быть нулевое значение
  • Это действительно может быть нуль

Итак, === добавлен, чтобы гарантировать, что тип и значение совпадают.

Ответ 10

"===", соответствующее значению в переменной, а также тип данных переменной.

Ответ 11

Так что, если я отправлю кому-нибудь видео, мне показалось смешным, и они отправили меня. === что это значит???