2012-05-14 76 views
2

我有两个数组,从结果中填充。数组合并并删除重复的问题PHP

1)users_facebook & 2)users_twitter

Array 
(
    [users_facebook] => Array 
    (
     [0] => Array 
      (
       [id] => "180", 
       [email] => "", 
       [first_name] => "Djon", 
       [last_name] => "Katview" 
     ), 
     [1] => Array 
      (
       [id] => "182", 
       [email] => "", 
       [first_name] => "Awaaru", 
       [last_name] => "Bhejafry" 
     ) 
    ), 

    [users_twitter] => Array 
    (
     [0] => Array 
      (
       [id] => "180", 
       [email] => "", 
       [first_name] => "Djon", 
       [last_name] => "Katview" 
     ), 
     [1] => Array 
      (
       [id] => "181", 
       [email] => "", 
       [first_name] => "Kavritis", 
       [last_name] => "Abrfafda" 
     ), 
     [2] => Array 
      (
       [id] => "182", 
       [email] => "", 
       [first_name] => "Awaaru", 
       [last_name] => "Bhejafry" 
     ) 
    ), 
) 

我想选择具有两个阵列相同“ID”元素,并将它附加到新的数组,说类似 “users_final_array”

而当它被添加到新数组时,我想从两个数组中删除它。

p.s.:不匹配的元件必须保持,因为它是..我正在与它搞乱因为几乎3小时

加了:

结果阵列将如:

Array 
(
    [users_facebook] => Array 
    (
    ), 

    [users_twitter] => Array 
    (
     [0] => Array 
      (
       [id] => "181", 
       [email] => "", 
       [first_name] => "Kavritis", 
       [last_name] => "Abrfafda" 
      ) 
    ), 

    [users_final_array] => Array 
    (
     [0] => Array 
      (
       [id] => "180", 
       [email] => "", 
       [first_name] => "Djon", 
       [last_name] => "Katview" 
     ), 
     [1] => Array 
      (
       [id] => "182", 
       [email] => "", 
       [first_name] => "Awaaru", 
       [last_name] => "Bhejafry" 
     ) 
    ), 
) 
+1

我们展示你已经尝试什么留下删除重复。 –

+0

试图foreach循环和全乱了,也试过array_intersect,但它确实是我不希望合并一个错误的方式.. –

回答

0

所有这些两个阵列的第一是JSON阵列,所以解码主题的PHP的一个:

$array = json_decode($response, true); 

和thene,只是使用PHP “array_merge”,并选择他们两个(Facebook和Twitter)

+0

,我想从两个数组相似的元素到另一个阵列..数组的合并将与所有的进程元素而不仅仅是类似的 –

2

转换这个被解码JSON来阵列。然后尝试将这两个数组合并成一个数组。合并使用array_unique()函数之后,如下

array_unique($merge_array); 
+0

你会得到一些数组到字符串转换的通知。可以通过使用'array_key_exists'并没有工作了foreach循环 – Luuky19

0

array_intersect

<?php 

$res = '{ 
    "users_facebook": [ 
     { 
      "id": "180", 
      "email": "", 
      "first_name": "Djon", 
      "last_name": "Matfew" 
     }, 
     { 
      "id": "182", 
      "email": "", 
      "first_name": "Awaaru", 
      "last_name": "Bhejafry" 
     } 
    ], 
    "users_twitter": [ 
     { 
      "id": "180", 
      "email": "", 
      "first_name": "Djon", 
      "last_name": "Matfew" 
     }, 
     { 
      "id": "181", 
      "email": "", 
      "first_name": "Kavritis", 
      "last_name": "Abrfafda" 
     }, 
     { 
      "id": "182", 
      "email": "", 
      "first_name": "Awaaru", 
      "last_name": "Bhejafry" 
     } 
    ] 
}'; 

$res = json_decode($res, true); 

print_r(array_intersect($res['users_facebook'],$res['users_twitter'])); 

?> 

array_diff看到发生了什么,从原来的响应

+0

除去从2阵列的项目中,我使用array_intersect,它并完美显示两个相等的元素,但是当我使用和array_diff它不显示我的任何元件。我也需要从这两个数组中删除这些相似的元素 –