具有 arbitrary/variable N 个值的数组的逻辑与函数

logic AND function on array with arbitrary/variable N values

我遇到了一个大问题。我有一个动态数组,它可能包含 0 到 N 之间的任何值(为简单起见,假设它们都是布尔值,例如 0 或 1)。当然,一旦一个数组是defined/read,值的个数就不是未知数了。而且,我可以在一开始就轻松排除两个微不足道的情况:0(空)和单值数组。

剩下的是一个数组中有 2 个以上的值,需要对所有这些值执行逻辑与运算。

例如:

$array = array
(
    $a,
    $b,
    $c,
    .
    .
    .
    $n
);

    $logical_function = $a && $b && $c && ... && $n;

这甚至可以在 PHP 中以某种方式完成吗?我知道如何从数组生成动态/可变变量名称,但我该如何编写 AND 部分函数?

谢谢

如果只有一个数组元素是false,结果将为假。所以你可以在面对一个 false:

时跳过检查其他元素
$result = true;
foreach($array as $arr)
{
    if($arr)
      $result = true;
    else
    {
      $result = false;
      break;
    }
}
return $result;

这里:

function logicalAnd(array $arr) 
{
    $result = true;
    foreach($arr as $element) 
    {
        $result = $result && $element;
        if (!$result) { return false; }
    }
    return $result
}