В чем разница между =
, ==
и ===
?
Я думаю, что использование одного знака равенства означает объявление переменной, в то время как два знака равенства предназначены для условия сравнения, и, наконец, три знака равенства предназначены для сравнения значений объявленных переменных.
php
comparison
operators
клубника
источник
источник
=
в javascript. Это относится не только к PHP, но и к другим языкам.Ответы:
Вы имеете
=
в оператор присваивания ,==
в «равного» оператор сравнения и===
в «идентичный» оператор сравнения .Для получения дополнительной информации о необходимости
==
и===
, и ситуации, чтобы использовать каждый, посмотрите на документы .источник
===
с объектами говорит вам, если это один и тот же объект, а не если они имеют одинаковое содержимое.=
является оператором присваивания==
является оператором сравнения (проверяет, имеют ли две переменные одинаковые значения)===
является идентичным оператором сравнения (проверяет, имеют ли две переменные одинаковые значения и имеют ли они одинаковый тип).источник
= оператор присваивания
== проверяет, имеют ли две переменные одинаковое значение
=== проверяет, имеют ли две переменные одинаковое значение И, если их типы одинаковы
источник
Оператор = присваивает значение переменной $ six = 6; значение 6 присваивается переменной $ шесть
== оператор проверяет, равны ли значения обеих переменных и используются ли они в основном в таких условиях, как операторы if
=== Оператор похож на == (проверьте, равно ли значение), а также проверьте, если оба типа данных
// здесь $ a имеет тип int, тогда как $ b имеет тип string. Так что здесь вывод
источник
Для опытных пользователей PHP, зная разницу между
==
и===
спрашивая себя «быстрее ли сравнивать==
или===
когда я уверен, что оба операнда одного типа?»Краткий и общий ответ таков: в этом случае выигрыша в производительности нет
===
, поэтому вам, вероятно, стоит его использовать==
.Для тех, кто заинтересован в его тестировании, вы можете использовать следующий код, который я написал ad-hoc, и попробовать разные значения для
$a
и$b
:ПРИМЕЧАНИЕ. Сравнение действительно только тогда, когда каждая «ПЕРВАЯ ПОПРОБОВКА» очень близка к «ВТОРОЙ ПОПЫТКЕ». Если они значительно отличаются, это означает, что процессор был занят чем-то другим, выполняя сравнения, и поэтому результаты ненадежны, и эталонный тест следует запустить снова.
источник
==
или===
как о причине проблем с производительностью. ИМО: Лучше быть строгим (===
), если вы явно не хотите быть свободным (==
) в своих сравнениях. Количество странных крайних случаев, т."5 is not a number" == 5
Е. Может привести к дурацким ошибкам.===
никогда не страдает от этой проблемы.===
по причинам производительности, они ошибаются. Таким образом, программисты могут выбирать===
или==
исходить из логических соображений, но не из соображений производительности: существуют разные случаи, когда они предпочитают один или другой, и производительность вообще не должна приниматься во внимание.