我没有找到预定义的php函数来实现它,没有一个? 我有2个阵列:
array1 =
Array
(
[0] => n
[1] => m
[2] => l
)
array2 =
Array
(
[j] => 2
[k] => 2
[l] => 3758096384
[m] => 3
)
预期结果:array3 =
Array
(
[l] => 3758096384
[m] => 3
)
感谢您的帮助, 杰斯
答案 0 :(得分:8)
$array1 = array
(
0 => 'n',
1 => 'm',
2 => 'l'
);
$array2 = array
(
'j' => 2,
'k' => 2,
'l' => 3758096384,
'm' => 3
);
$result = array_intersect_key($array2, array_flip($array1));
答案 1 :(得分:3)
array_intersect_key()
返回一个数组,其中包含array1的所有条目,这些条目具有所有参数中都存在的键。
$a = array('n','m','l');
$b = array('j' => 2, 'k' => 2, 'l' => 3758096384, 'm' => 3);
$c = array_intersect_key($b, array_flip($a));
print_r($c); // Array ( [l] => 3758096384 [m] => 3 )
答案 2 :(得分:0)
$array3 = array();
foreach ($array1 as $item){
if (isset($array2[$item])){
$array3[$item] = $array2[$item]
}
}
答案 3 :(得分:0)
这应该是工作
<?php
// ... your array1 and array2 setup here
$array3=array();
foreach($array1 as $key) {
if(isset($array2[$key])) $array3[$key] = $array2[$key];
}
var_dump($array3);
?>