Есть ли разница между операторами "и" и "&&" в PHP?
У меня есть следующий код и не думаю, что он нужен, т.е. &&
должен использоваться, так как нет ничего, чтобы назначить левую часть?
if($_REQUEST['foo'] != 'abc' and $_REQUEST['bar'] == 'def')
{
echo "all your base";
}
Итак, это должно быть:
if($_REQUEST['foo'] != 'abc' && $_REQUEST['bar'] == 'def')
{
echo "all your base";
}
Ответы
Ответ 1
В вашем случае &&
и and
делают то же самое, но посмотрите на приоритет оператора. Вы можете видеть, что &&
и and
не находятся на одном уровне, поэтому смешивание может привести к неожиданным результатам в некоторых случаях - я рекомендую всегда использовать &&
, но это ваш выбор.
Ответ 2
& & и "и" - это две разные вещи из-за их приоритета.
Причиной двух разных вариантов операторов "и" и "или" является то, что они работают с разными приоритетами. (См. "Приоритет оператора".)
Ответ 3
'и' и '& &' является одним и тем же оператором, кроме отличий от приоритетов.
Это разные операторы, но они действуют одинаково, кроме отличий от приоритетов.