数组合并并删除重复的问题 PHP


Array merge and remove duplicate issue 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"

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

PS:不匹配的元素必须保持原样。我搞砸了将近 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"
        )
    ),
)

通过解码将其转换为 json 到数组。然后尝试将这两个数组合并为一个数组。合并后使用 array_unique() 函数删除重复项,如下所示

array_unique($merge_array);

首先,这两个数组是JSON数组,因此将主题解码为php的主题:

$array = json_decode($response, true);

然后,只需使用PHP"array_merge"并选择它们(Facebook和Twitter)

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查看原始响应中还剩下的内容