【发布时间】:2014-10-24 22:21:49
【问题描述】:
我有一个带有图形元素 id 的输入数组,我需要找到它们的组。我试图使用 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 个?
-
组是包含合并的兄弟数组的数组。如果兄弟数组中的值之一存在于其他数组中,则应合并这些数组。
-
啊,我明白你的意思了。感谢您的澄清。
标签: php arrays siblings array-merge