php按位数组
如果我有一个标志数组,我想将它们与一个位连词组合起来 即: 进入php按位数组,php,arrays,function,bit-manipulation,Php,Arrays,Function,Bit Manipulation,如果我有一个标志数组,我想将它们与一个位连词组合起来 即: 进入 PHP有什么好函数可以很好地为我实现这一点吗?你可以这样做 $bar = $foo[0] | $foo[1] 如果数组的大小未知,可以这样使用 // in php > 5.3 $values = array_reduce($flagArray, function($a, $b) { return $a | $b; }); // in php <= 5.2 $values = array_reduce($flagArr
PHP有什么好函数可以很好地为我实现这一点吗?你可以这样做
$bar = $foo[0] | $foo[1]
如果数组的大小未知,可以这样使用
// in php > 5.3
$values = array_reduce($flagArray, function($a, $b) { return $a | $b; });
// in php <= 5.2
$values = array_reduce($flagArray, create_function('$a, $b', 'return $a | $b'));
//在php>5.3中
$values=array_reduce($flagArray,function($a,$b){返回$a |$b;});
//在php中
PHP<5.3(无闭包),以下两种情况之一:
function _mybitor($a,$b){return is_null($a) ? $b : $a | $b;}
$values = array_reduce($foo,'_mybitor');
或
)) 将数组缩减为单个值:
$res = array_reduce($array, function($a, $b) { return $a | $b; }, 0);
Reduce在其他语言中有时也被称为fold(向左折叠或向右折叠)。对的一个简单建议是:创建一个与数组\u sum
同级的数组
function array_or (array $array): int {
return array_reduce($array, function($a, $b) { return $a | $b; }, 0);
}
function _mybitor($a,$b){return is_null($a) ? $b : $a | $b;}
$values = array_reduce($foo,'_mybitor');
$values = array_reduce($foo,create_function('$a,$b','return is_null($a) ? $b : $a | $b;'));
$res = array_reduce($array, function($a, $b) { return $a | $b; }, 0);
function array_or (array $array): int {
return array_reduce($array, function($a, $b) { return $a | $b; }, 0);
}