【问题标题】:Why is the value of var_dump(true and false) as boolean(true)? [duplicate]为什么 var_dump(true and false) 的值是 boolean(true)? [复制]
【发布时间】:2017-04-30 18:27:08
【问题描述】:

我想了解的——

$x = true and false;

var_dump($x);

答案是 boolean(true);

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

在php中运行代码

【问题讨论】:

  • 必须是&&
  • 实际上,var_dump(true and false),正如标题中所提出的,是 false。这和$x = true and false不一样的操作……

标签: php boolean algebra


【解决方案1】:

这是因为and 运算符并没有像你想象的那样工作:'AND' vs '&&' as operator

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

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

返回bool(false)。

也一样

$x = (false and true);

【讨论】:

    【解决方案2】:

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

    ($x = true) and false;
    

    所以完整的表达式——你不使用它的结果——将返回false,但$x将是true。

    【讨论】:

      猜你喜欢
      • 2019-02-08
      • 1970-01-01
      • 2021-08-08
      • 2021-11-10
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      相关资源
      最近更新 更多