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

问题描述:

我想了解什么 -为什么var_dump(true和false)的值是boolean(true)?

$x = true and false; 

var_dump($x); 

回答出来是为布尔值(true);

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

然的代码在PHP

+0

它必须是'&&' – Beginner

+1

其实''var_dump(true和false)',如标题所示,*为*'false'。这不是'$ x = true和false'的操作... – deceze

and具有较低的operator precedence=所以你执行的是:

($x = true) and false; 

所以完整的表达 - 你不使用的结果 - 会返回false,但$x将是true

这是因为and操作者并不像你想象的工作:'AND' vs '&&' as operator

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

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

返回bool(false)

一样

$x = (false and true);