Php 是否检查数组中键值的所有组合?
我要处理此数据集:Php 是否检查数组中键值的所有组合?,php,arrays,multidimensional-array,intersect,Php,Arrays,Multidimensional Array,Intersect,我要处理此数据集: Array ( [John Doe] => Array ( [137] => 7 [22] => 8 [145] => 7 ) [George] => Array ( [143] => 2 [18] => 7 ) [Alisa
Array
(
[John Doe] => Array
(
[137] => 7
[22] => 8
[145] => 7
)
[George] => Array
(
[143] => 2
[18] => 7
)
[Alisa Baumbach] => Array
(
[148] => 7
[145] => 5
)
)
现在,我想看看用户数组之间的密钥是否至少有一个匹配项。我将通过使用array\u intersect\u键来实现这一点:
$matches = array_intersect_key($user_cor['John Doe'], $user_cor['Alisa Baumbach']);
当然,这是可行的,但这些值是硬编码的,我想通过它自动运行所有组合。我将如何检查是否:
- 用户1数据与用户2相交
- 用户2数据与用户3相交
- 用户1数据与用户3相交
如果您能抽出时间来帮助我理解这个问题,我们将不胜感激。类似下面的内容
$keys = array_keys($user_cor);
for ($i = 0;$i < count($keys);$i++) {
for ($j = $i+1;$j < count($keys);$j++) {
$matches[$i.",".$j] = array_intersect_key($user_cor[$keys[$i]], $user_cor[$keys[$j]])
}
}
$keys=array\u keys($user\u cor);
对于($i=0;$i
类似于以下内容的内容
$keys = array_keys($user_cor);
for ($i = 0;$i < count($keys);$i++) {
for ($j = $i+1;$j < count($keys);$j++) {
$matches[$i.",".$j] = array_intersect_key($user_cor[$keys[$i]], $user_cor[$keys[$j]])
}
}
$keys=array\u keys($user\u cor);
对于($i=0;$i
这是一个简单的foreach($user=>myArray)
x2true,但我显然想输入更多数据。这是一个简单的foreach($user=>myArray)
x2true,但我显然想输入更多数据。