【发布时间】:2016-01-27 09:55:03
【问题描述】:
我的函数有问题,它应该根据数组中的数据组合逻辑运算符:
$arr = array(
0 => array(false, "or"),
1 => array(false, "or"),
2 => array(true)
);
等式应该是:
- 假或假或真
- ($arr[0][0] $arr[0][1] $arr[1][0] $arr[1][1] $arr[2][0]) em>
结果:真
但是函数中发生了错误,它返回 false。 我错过了什么?
var_dump( arrayBoolValidation($arr) );
function arrayBoolValidation (array $arr) {
$num = count($arr);
$status = $arr[0][0];
for($i = 1; $i < $num; ++$i) {
if ($arr[$i-1][1] == "and") {
$status = filter_var($status, FILTER_VALIDATE_BOOLEAN) and filter_var($arr[$i][0], FILTER_VALIDATE_BOOLEAN);
} else if ($arr[$i-1][1] == "or") {
$status = filter_var($status, FILTER_VALIDATE_BOOLEAN) or filter_var($arr[$i][0], FILTER_VALIDATE_BOOLEAN);
}
}
return $status;
}
【问题讨论】:
-
Mikalkenas:也许你应该看看这个:stackoverflow.com/questions/3737139/…
标签: php logical-operators