为什么var_dump(true and false)的值是boolean(true)?

Why is the value of var_dump(true and false) as boolean(true)?

我想了解的 -

$x = true and false;

var_dump($x);

答案是布尔值(真);

但在代数下我一直在学习 1 和 0 是 0

运行 php

中的代码

是因为and运算符没有像你想的那样起作用:'AND' vs '&&' as operator

基本上,=具有更高的优先级。

$x = false && true;
var_dump($x);

returns bool(false).

一样
$x = (false and true);

and=operator precedence 所以你正在执行的是:

($x = true) and false;

所以完整的表达式 - 你不使用的结果 - 将 return false,但 $x 将是 true.