Combine flags in array to single value using bitwise OR(使用按位OR将数组中的标志合并为单个值)
问题描述
如果我有一个标志数组,并且希望将它们与按位合取组合
ie:
$foo = array(flag1, flag2);
进入
$bar = flag1 | flag2;
PHP有没有什么好函数可以很好地为我做这件事?
推荐答案
array_reduce
将为您将数组减少为单个值:
$res = array_reduce($array, function($a, $b) { return $a | $b; }, 0);
Reduce在其他语言中有时也称为折叠(向左折叠或向右折叠)。
这篇关于使用按位OR将数组中的标志合并为单个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!