繁体   English   中英

为什么使用三元运算符来设置布尔变量?

[英]Why use the ternary operator to set a boolean variable?

我正在钻研facebook php api,我看到了以下功能。

public static function enableAppSecretProof($on = true)
{
  static::$useAppSecretProof = ($on ? true : false);
}

所以在我的理解中,如果$ on计算为true,则将变量$ useAppSecretProof设置为true,如果计算结果为false,则将其设置为false。

为什么要设置这样的布尔变量而不是直接? 这是用于铸造吗? 换句话说,作为参数传递给函数的任何值都将被转换为布尔值,并且它将是变量的值?

使用三元组实现了将参数隐式转换为正确(bool)类型的效果。

更好的方法是:

static::$useAppSecretProof = (bool)$on;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM