PHP按条件合并/重写数组

时间:2015-01-12 11:01:35

标签: php arrays merge

我想将它们合并到值为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。

感谢您提供代码/建议/想法。

1 个答案:

答案 0 :(得分:1)

这应该适合你:

<?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) }