我知道PHP使用懒惰评估/短路运营商。但说我想要评估所有表达式的条件,例如:如何评估条件中的所有表达式?
$a = "Apple";
$b = "Banana";
$c = "Cherry";
function check($fruit) {
if ($fruit != "Banana") {
echo "$fruit is good.\n";
return true;
} else {
echo "$fruit is bad.\n";
return false;
}
}
if (check($a) && check($b) && check($c)) {
echo "Yummy!\n";
}
因为懒惰的评价,这样只会输出:
Apple is good.
Banana is bad.
比期望的输出,而:
Apple is good.
Banana is bad.
Cherry is good.
这在表单验证中很有用。
所以我的问题:有没有什么办法来强制所有的表达式在PHP中进行评估,如果不是,在上面的例子中最好/最快的方式来获得所需的结果?
怎么样美味!检查a,b或c也返回true? – 2013-04-30 01:46:17
in check func,$ var更改为$ fruit – 2013-04-30 01:47:41
@JOELEE Typo固定。感谢您指出了这一点。 – 2013-04-30 02:28:31