在PHP中有一种很好的方法可以在这样的数组上运行各种测试...
array(true, false, true, false, false);
说给我所有这些元素的 AND 结果或 OR 结果?
很好,我的意思是建造而不需要每次都围绕结构。
答案 0 :(得分:5)
您可以使用(bool) array_sum($array)
获取OR
结果,使用(bool) array_product($array)
获取AND
结果。
这是有效的,因为PHP处理布尔值和整数的方式(零是false
,其他一切都是true
),以及逻辑(或按位)OR
如何与加法相关联,而逻辑(或按位)AND
与乘法相关联。
答案 1 :(得分:0)
您可以implode数组并在其上执行binary to decimal。 然后你只需要对结果做Switch来做不同的标志所代表的内容。
那是因为你的bool数组基本上是一个5位二进制值。
你可能需要在内爆后将一些前导零填充到8位数值,然后将其转换为十进制值,因为bin2dec很有趣。