拥有此数组($firstArray
):
array(3) {
[0]=>
array(2) {
["Name"]=>
string(3) "foo"
["id"]=>
string(4) "1064"
}
[1]=>
array(2) {
["Name"]=>
string(3) "boo"
["id"]=>
string(4) "1070"
}
[2]=>
array(2) {
["Name"]=>
string(3) "bar"
["id"]=>
string(4) "1081"
}
这一个($secondArray
):
array(2) {
[0]=>
string(4) "1064"
[1]=>
string(4) "1081"
}
如何在这些内部数组上使用array_intersect
?
我尝试了array_intersect($firstArray, $secondArray);
无效。
我想要的输出是:
array(2) {
[0]=>
array(2) {
["Name"]=>
string(3) "foo"
["id"]=>
string(4) "1064"
}
[1]=>
array(2) {
["Name"]=>
string(3) "bar"
["id"]=>
string(4) "1081"
}
PS:我使用的是PHP 5.2(我无法更新版本,因为它不是我自己的机器)
提前致谢。
答案 0 :(得分:1)
您不能在具有不同结构的两个阵列上使用array_intersect
。为了实现您的目标,您必须遍历第一个数组并检查id
值是否在第二个数组中,如下所示:
$outputArray = array();
foreach ($firstArray as $value) {
if (in_array($value['id'], $secondArray))
$outputArray[] = $value;
}