“和”和“&&”之间有什么区别吗? PHP中的运算符?

时间:2011-01-20 12:03:26

标签: php

我有以下代码,并且不认为需要,即应该使用&&,因为没有任何内容可以将左侧部分分配给?

if($_REQUEST['foo'] != 'abc' and $_REQUEST['bar'] == 'def')
{
    echo "all your base";
}

所以它应该是:

if($_REQUEST['foo'] != 'abc' && $_REQUEST['bar'] == 'def')
{
    echo "all your base";
}

3 个答案:

答案 0 :(得分:6)

在您的情况下,&&and执行相同的操作,但请查看operator precedence。您可以看到&&and不在同一级别,因此混合可能会在某些情况下给您带来意想不到的结果 - 我建议您始终使用&&,但这是您的选择。< / p>

答案 1 :(得分:3)

&安培;&安培;和“和”是两个不同的东西,因为它们的优先权。

  

“和”和“或”运算符的两种不同变体的原因是它们以不同的优先级运行。 (参见操作员优先顺序。)

答案 2 :(得分:2)

'和'和'&amp;&amp;'除了优先级差异之外,它是同一个运算符。

他们是不同的运算符,但除了优先级差异之外,它们的运行方式相同。