我在尝试找出可以解决以下问题的方法时遇到问题,如果数组的元素彼此相同则会合并以形成彼此的新数组。
例如,如果我有:
$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]]
感谢
答案 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);