PHP多维数组

时间:2014-11-06 16:37:09

标签: php arrays multidimensional-array

我在尝试找出可以解决以下问题的方法时遇到问题,如果数组的元素彼此相同则会合并以形成彼此的新数组。

例如,如果我有:

$array = [ [0,4], [1,2], [1,3], [3,2] ]

然后新阵列就像:

$newarray = [ [0,4], [1,2,3] ]

如果$array的数组有共同的元素然后合并,我尝试了几种方法,比如循环遍历数组并比较各个元素,但只是无法理解它,任何帮助会很棒

另一个简单的例子是:

$array2 = [ [0,1], [3,4], [4,2], [2,3], [6,5] ];

$newarray2 = [ [0,1], [2,3,4], [5,6]]

感谢

1 个答案:

答案 0 :(得分:0)

$array2 = [ [0,1], [3,4], [4,2], [2,3], [6,5] ];
$wrk = array_count_values(call_user_func_array('array_merge', $array2));
ksort($wrk);
$result = [];
$prevValue = -INF;
$i = -1;
foreach($wrk as $key => $value) {
    if ($value != $prevValue) {
        $prevValue = $value;
        ++$i; 
    }
    $result[$i][] = $key;
}
var_dump($result);