[英]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.