Почему в PHP есть два оператора «не равно» (!= и <>) [дубликат]
-
12-09-2019 - |
Вопрос
На этот вопрос уже есть ответ здесь:
Я случайно наткнулся на фрагмент PHP-кода и увидел, что автор использовал его. <>
сделать не равное сравнение:
if ($variable <> "") {
echo "Hello, I am having some value";
}
Я всегда использовал !=
:
if ($variable != "") {
echo "Hello, I am having some value";
}
Есть ли какие-либо особые обстоятельства, когда мне следует использовать <>
над !=
?
Решение
Я предполагаю, что оператор <> был реализован в PHP, потому что он присутствует в некоторых других языках. (например, SQL)
И <>, и != означают почти точно так же :единственная разница, которую мне удалось найти, связана с их приоритетом:видеть Приоритет оператора :они не в одной строке ^^ (что, в конце концов, означает, что между этими двумя есть разница)
Хотя, должен признаться, я никогда не видел, чтобы <> использовался в PHP.
Обратите внимание, что люди обычно используют != ;вам, вероятно, следует сделать то же самое:это облегчит понимание вашего кода.
И, кстати, у вас также есть оператор !==, который тоже выполняет сравнение типов;но нет оператора <<>> или чего-то в этом роде ^^
В качестве ссылки: Операторы сравнения
Другие советы
Я считаю, что когда PHP был впервые разработан, одной из целей проектирования было сделать язык гибким, поэтому в него были включены все типы циклов и все типы операторов, о которых вы только могли подумать.
<>
немного отличается от !=
с точки зрения приоритета категории, но операторы, стоящие между ними, означают, что практической разницы нет.
Хороший вопрос.Они одинаковы, за исключением одного тонкого различия: <> имеет более высокий приоритет, чем !=
Зачем они?Просто чтобы все работало так, как вы ожидаете.PHP — это смесь заимствованных идей, и программист на языке C может предпочесть $foo != $bar
, кто-то с опытом BASIC может найти $foo <> $bar
легче для глаз.Каждому свое!
У них очень близко, но слегка разные приоритеты, но я не вижу времени, которое было бы полезно.