带/不带括号的AND运算符行为

时间:2012-11-08 14:00:23

标签: php

$a = true and false; //true
$b = true && false; //false
$c = (true and false); //false
$d = (true && false); //false

为什么案例'a'是真的?

我想到了和&&具有相同的优先级但they don't

2 个答案:

答案 0 :(得分:2)

如文档中所述,这是预期的行为

// The constant true is assigned to $h and then false is ignored
// Acts like: (($h = true) and false)
$h = true and false;

http://php.net/manual/en/language.operators.logical.php

答案 1 :(得分:0)

常量true指定给$ a,然后忽略false。这都是关于运算符优先级的