我有以下代码,并且不认为需要和,即应该使用&&
,因为没有任何内容可以将左侧部分分配给?
if($_REQUEST['foo'] != 'abc' and $_REQUEST['bar'] == 'def')
{
echo "all your base";
}
所以它应该是:
if($_REQUEST['foo'] != 'abc' && $_REQUEST['bar'] == 'def')
{
echo "all your base";
}
答案 0 :(得分:6)
在您的情况下,&&
和and
执行相同的操作,但请查看operator precedence。您可以看到&&
和and
不在同一级别,因此混合可能会在某些情况下给您带来意想不到的结果 - 我建议您始终使用&&
,但这是您的选择。< / p>
答案 1 :(得分:3)
&安培;&安培;和“和”是两个不同的东西,因为它们的优先权。
“和”和“或”运算符的两种不同变体的原因是它们以不同的优先级运行。 (参见操作员优先顺序。)
答案 2 :(得分:2)
'和'和'&amp;&amp;'除了优先级差异之外,它是同一个运算符。
他们是不同的运算符,但除了优先级差异之外,它们的运行方式相同。