具有任意/变量N值的数组上的逻辑AND函数

时间:2015-05-07 03:40:47

标签: php arrays recursion logic

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

剩下的是数组中2+值的情况,需要对所有数组执行逻辑AND操作。

例如:

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

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

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

由于

2 个答案:

答案 0 :(得分:1)

如果只有一个数组元素为SIG_DFL,则结果为false。因此,当面对一个from signal import signal, SIGPIPE, SIG_DFL signal(SIGPIPE, SIG_DFL) 时,您可以跳过检查其他元素:

false

答案 1 :(得分:1)

下面:

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