2014-10-10 98 views
1

我有两个关联数组如下PHP关联数组交叉口返回两个元件而不是一个

Array 
(

    [0] => Array 
     (
      [description] => aaaaaa 
      [value] => 11111 
      [id] => 14 
     ) 

    [1] => Array 
     (
      [description] => dddddd 
      [value] => 44444 
      [id] => 0 
     ) 

) 




Array 
(

    [0] => Array 
     (
      [id] => 14 
      [value] => 11111 
      [description] => aaaaaa 
     ) 

    [1] => Array 
     (
      [id] => 15 
      [value] => 222222 
      [description] => bbbbbb 
     ) 

    [2] => Array 
     (
      [id] => 16 
      [value] => 333333 
      [description] => cccccc 
     ) 

) 

我正的结果是

Array 
(

    [0] => Array 
     (
      [description] => aaaaaa 
      [value] => 11111 
      [id] => 14 
     ) 

    [1] => Array 
     (
      [description] => dddddd 
      [value] => 44444 
      [id] => 0 
     ) 

) 

注意到dddd是第一阵列中可用,但不是第二个。

我正在使用array_intersect_assoc($array1, $array2)函数。 请帮忙。这是不符合逻辑的所有返回这样的结果

+0

很明显你想在这里实现什么,这个函数“array_intersect_assoc”计算带有附加索引检查的关联数组的交集。更进一步,我看到那里是多维数组,只需要注意 – Mubo 2014-10-10 10:45:34

+0

@mubo他需要从两个数组 – 2014-10-10 10:49:15

+0

@sasikanth正确地获取重复记录!只有重复,也许它是失去它,因为它是一个多维数组比较 – f0unix 2014-10-10 10:53:00

回答

0

下面的代码

$intersect = array_uintersect($arr1, $arr2, 'compareDeepValue'); 
print_r($intersect); 

function compareDeepValue($val1, $val2) 
{ 
    return strcmp($val1['value'], $val2['value']); 
} 
0

使用如果您将使PHP的通知,你会看到你的问题未来

Notice: Array to string conversion 

你可以得到详尽的答复here

祝你好运!

相关问题