这些陈述是等价物吗?
if ($a || $b && $c)
{
// ...
}
if (($a || $b) && $c)
{
// ...
}
编辑
怎么打!但值得……谢谢大家!
这些陈述是等价物吗?
if ($a || $b && $c)
{
// ...
}
if (($a || $b) && $c)
{
// ...
}
编辑
怎么打!但值得……谢谢大家!
答案:没有。它们不是等价的。
查看PHP 运算符优先级表。它清楚地列出了&&
之前||
。
在此处查看实际操作:http: //viper-7.com/cPycas
如果要使用优先级而不是括号,可以使用更详细的AND
:
if ($a || $b AND $c)
{
// ...
}
这是演示,但我建议你不要这样做,因为它不像括号那么清楚。
的&&
优先级高于||
,所以不,它们不相等。
否。在 PHP 中,($a || $b && $c)
被评估为:($a || ($b && $c))
见: http: //php.net/manual/en/language.operators.precedence.php
将AND视为乘法,或将OR视为加法,您将获得真实性和优先级。
$a = 1;
$b = 0;
$c = 0;
if ($a + $b * $c)
{
// ...
}
if (($a + $b) * $c)
{
// ...
}
&& 优先于 ||。运算符优先级