PHP merge/rewrite 数组按条件归一
PHP merge/rewrite arrays to one by condition
我想将它们合并到值为 1 的一个。
示例:
我有 3 个数组:
$array1 = [1,0,0,1,0];
$array2 = [0,0,0,1,0];
$array3 = [0,1,0,0,0];
有 "n" 个数组。
所以想要的输出将是:
$array = [1,1,0,1,0]
更多详情:
这是我合并用户权限的基本思路。每个数组代表用户所属的组,数组中的每个键都是权限。如果用户有权限,数组的每个值代表true/false。
感谢您的代码/建议/想法。
这应该适合你:
<?php
$array1 = [1,0,0,1,0];
$array2 = [0,0,0,1,0];
$array3 = [0,1,0,0,0];
$result = array();
$n = 3; $tmp = 0;
$result = array();
for($count = 0; $count < count($array1); $count++) {
for($i = 1; $i <= $n; $i++)
$tmp = ${"array" . $i}[$count] || $tmp;
$result[] = $tmp;
}
var_dump($result);
?>
输出:
array(5) { [0]=> bool(true) [1]=> bool(true) [2]=> bool(false) [3]=> bool(true) [4]=> bool(false) }
我想将它们合并到值为 1 的一个。
示例:
我有 3 个数组:
$array1 = [1,0,0,1,0];
$array2 = [0,0,0,1,0];
$array3 = [0,1,0,0,0];
有 "n" 个数组。
所以想要的输出将是:
$array = [1,1,0,1,0]
更多详情:
这是我合并用户权限的基本思路。每个数组代表用户所属的组,数组中的每个键都是权限。如果用户有权限,数组的每个值代表true/false。
感谢您的代码/建议/想法。
这应该适合你:
<?php
$array1 = [1,0,0,1,0];
$array2 = [0,0,0,1,0];
$array3 = [0,1,0,0,0];
$result = array();
$n = 3; $tmp = 0;
$result = array();
for($count = 0; $count < count($array1); $count++) {
for($i = 1; $i <= $n; $i++)
$tmp = ${"array" . $i}[$count] || $tmp;
$result[] = $tmp;
}
var_dump($result);
?>
输出:
array(5) { [0]=> bool(true) [1]=> bool(true) [2]=> bool(false) [3]=> bool(true) [4]=> bool(false) }