У меня есть массив на входе с идентификаторами графических элементов, и мне нужно найти их группы. Я пытался использовать array_search и array_marge, но безуспешно.Объединить массивы с одинаковыми значениями
У меня есть массив братьев и сестер:
'siblings' =>
array (size=6)
0 =>
array (size=2)
0 => int 0
1 => int 1
1 =>
array (size=2)
0 => int 2
1 => int 3
2 =>
array (size=2)
0 => int 3
1 => int 5
3 =>
array (size=2)
0 => int 4
1 => int 6
4 =>
array (size=2)
0 => int 4
1 => int 7
5 =>
array (size=2)
0 => int 6
1 => int 7
Мне нужен выход, как следующее:
'groups' =>
array (size=6)
0 =>
array (size=2)
0 => int 0
1 => int 1
1 =>
array (size=2)
0 => int 2
1 => int 3
2 => int 5
2 =>
array (size=2)
0 => int 4
1 => int 6
2 => int 7
Я может выводить это на следующее:
$groups[] = array_unique(array_merge($siblings[0]));
$groups[] = array_unique(array_merge($siblings[1],$siblings[2]));
$groups[] = array_unique(array_merge($siblings[3],$siblings[4],$siblings[5]));
var_dump($groups); // will output the previous output of groups
Но мне нужна функция, которая будет работа в больших масштабах.
Как вы определяющие группы? Я мог бы предположить, что вам нужны группы из 3, но тогда почему первая группа в вашем примере имеет только 2? – jiy
Группы - это массив, содержащий объединенные массивы братьев и сестер. Если одно из значений из массива сиблингов присутствует в другом массиве, эти массивы должны быть объединены. –
А, я понимаю, что вы имеете в виду сейчас. Спасибо за разъяснения. – jiy