У меня есть проблема с моей функцией, которая должна объединить логические операторы, по данным в массиве:Логического уравнения операторы в PHP
$arr = array(
0 => array(false, "or"),
1 => array(false, "or"),
2 => array(true)
);
уравнение должно быть:
- ложь или ложь или правда
- ($ обр [0] [0] $ обр [0] [1] $ обр [1] [0] $ обр [1] [1] $ обр [2] [0])
И результат: true
Но что-то не так происходит в функции, и оно возвращает 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: Может быть, вы должны смотреть на это: http://stackoverflow.com/questions/3737139/reference-what -does-this-symbol-mean-in-php – MDChaara