使用按位OR将数组中的标志合并为单个值

2022-03-01 00:00:00 function arrays bit-manipulation php

如果我有一个标志数组,并且希望将它们与按位合取组合

ie:

$foo = array(flag1, flag2);

进入

$bar = flag1 | flag2;

PHP有没有什么好函数可以很好地为我做这件事?


解决方案

array_reduce将为您将数组减少为单个值:

$res = array_reduce($array, function($a, $b) { return $a | $b; }, 0);

Reduce在其他语言中有时也称为折叠(向左折叠或向右折叠)。

相关文章