【发布时间】:2016-08-30 14:40:38
【问题描述】:
我有很多函数的参数可以是布尔值或空值。如果我们简化我的功能,我会得到这样的结果:
funtion ($param) {
if ($param) {
//true
} else {
//false
}
}
但是,当我调用 function(null); 时,它显然会进入 else 状态。所以我必须这样做
funtion ($param) {
if (isset($param)) {
if ($param) {
//true
} else {
//false
}
}
}
对于每一个类似的if 条件,这有点烦人。
所以我的问题是这样的:
有没有可能用这种类型的参数更快地和/或没有额外的功能来做这种类型的条件?
【问题讨论】:
-
if (boolify($param))如果$param未定义,则应抛出“未定义”错误。还是只是想看看它不是空的? -
那么 3 种可能性对吧?空,真,假
-
@TheOneandOnlyChemistryBlob 我完全搞砸了整个问题(现在已编辑),boolify 在这种情况下不会是正确的功能,这是导致我们项目中出现巨大错误的确切错误。
-
@MagnusEriksson 我编辑了我的 Q,在那里犯了很大的错误,对此感到抱歉。
-
null、false和true是变量的不同状态,但if语句中的null变量将被评估为false。
标签: php boolean conditional-statements isset