为什么这评价为真?
$test = true and false;
这不是吗?
$test = (true and false);
使用 && 运算符,它的计算结果都为 false,这也是我对 and 运算符的期望。显然,它们是不可互换的,除了它们具有不同的优先级。
为什么这评价为真?
$test = true and false;
这不是吗?
$test = (true and false);
使用 && 运算符,它的计算结果都为 false,这也是我对 and 运算符的期望。显然,它们是不可互换的,除了它们具有不同的优先级。
“&&”的优先级高于“and”
// The result of the expression (true && false) is assigned to $g
// Acts like: ($g = (true && false))
$g = true && false;
// The constant true is assigned to $h and then false is ignored
// Acts like: (($h = true) and false)
$h = true and false;
var_dump($g, $h);
打印假,真
除了优先级之外,它们是相同的
&&
> =
>and
在优先级表中,因此您的第一个示例等效于:($test = true) and false;