Есть ли разница между операторами "и" и "&&" в 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

'и' и '& &' является одним и тем же оператором, кроме отличий от приоритетов.

Это разные операторы, но они действуют одинаково, кроме отличий от приоритетов.