得到两个类型的数组
问题描述:
之间的区别,我有以下两个数组:得到两个类型的数组
数组1
Array
(
[0] => 6012
[1] => 7792
)
阵列2
Array
(
[6012] => Array
(
[title] => COIN Group
[nid] => 6012
)
[7792] => Array
(
[title] => fdsfsdafdsa
[nid] => 7792
)
[4689] => Array
(
[title] => General Group
[nid] => 4689
)
[6784] => Array
(
[title] => Invitation to join the group Applied Economics for Managers
[nid] => 6784
)
)
我需要这两个数组比较并找到数组1和数组2之间的差异。我的输出需要如下所示:
Array
(
[4689] => Array
(
[title] => General Group
[nid] => 4689
)
[6784] => Array
(
[title] => Invitation to join the group Applied Economics for Managers
[nid] => 6784
)
)
这怎么用PHP来完成?
答
伪代码:
result = array();
foreach array2 as key => value {
if (in_array(key, array1) {
result[key] = value;
}
}
答
$compare_array1 = array_values($array1);
$compare_array2 = array_keys($array2);
$diff_keys = array_diff($compare_array2, $compare_array1);
$result = array();
foreach ($diff_keys as $key)
$result[$key] = $array2[$key];
答
function diffArrays($array1,$array2){
foreach($array1 as $key)
unset($array2[$key];
return $array2;
}
或
function diffArrays2($array1,$array2){
return array_diff_key($array2,array_flip($array1));
$组= array_keys($用户>基团);和我使用array_diff得到的区别...但我的o/p不是我所需要的。它看起来像Array ( [0] => 4689 [1] => 6984 )。我需要用数组2中的所有值 – Fero