所有数组按位值一起

时间:2013-08-11 07:35:29

标签: php arrays bit-manipulation

我有这样的数组。

$a = array(
    1,
    2,
    4,
    // ...
    64,
    // go on ...
);

我想回来

var_dump(1 | 2 | 4 | /* ... */ 64);

http://codepad.org/AseDSGh6

我怎么能按位数中的所有值?

我找到了this,但这是对数值的限制。

2 个答案:

答案 0 :(得分:2)

你不能迭代数组吗?像这个例子:

$b = 0;
foreach($a as $value) {
  $b |= $value;
}
var_dump($b);

答案 1 :(得分:2)

$a = array_reduce($a, function ($v, $w){ return $v | $w; });