从PHP数组中通过id删除重复项的快速方法

时间:2014-10-12 08:56:29

标签: php arrays

我有一个数组,想要删除重复项。我正在使用php。如何删除重复的行(按id) 我的数组看起来像:

 Array
    (
        [0] => Array
            (
                [id] => 415
            ) 
        [1] => Array
            (
                [id] => 425
            )
        [2] => Array
            (
                [id] => 425
            )
        [3] => Array
            (
                [id] => 426
            )
     )

2 个答案:

答案 0 :(得分:1)

假设id是数组中唯一的元素,您可以使用serializearray_unique遍历数组,因为array_unique本身不适用于多维数组。

$foo = array_map('unserialize', array_unique(array_map("serialize", $foo)));

如果你有其他元素,@ Ghost的答案可能更好

答案 1 :(得分:0)

这也会将数组展平为一维数组

$data = array(
    array(
        'id' => 415,
    ),
    array(
        'id' => 425,
    ),
    array(
        'id' => 425,
    ),
    array(
        'id' => 426,
    ),
);


$data = array_unique(
    array_map('end', $data)
);
var_dump($data);

给出

Array
(
    [0] => 415
    [1] => 425
    [3] => 426
)