从关联数组中删除数组重复项

时间:2014-11-13 00:09:05

标签: php arrays array-unique array-map

所以我有:

Array (
      [animals] => Array
        (

            [0] => horse
            [1] => dog
            [2] => dog

        )
      [team] => Array
        (

            [0] => cubs
            [1] => reds
            [2] => cubs

        )
)

尝试用动物和团队消除重复的动物。

试过这个,但没有帮助。

$unique = array_map("unserialize", array_unique(array_map("serialize", $result)));

似乎它没有深入到内部,不想要硬编码动物或团队。

2 个答案:

答案 0 :(得分:3)

$data = [
    'animals' => ['horse', 'dog', 'dog'],
    'team' => ['cubs', 'reds', 'cubs']
];

$result = array_map('array_unique', $data);
print_r($result);

答案 1 :(得分:2)

这是一个选项:

    $ar = array( 'animals' => array( 'horse', 'dog', 'dog' ),
                 'team' => array( 'cubs', 'reds', 'cubs' ));


    foreach( $ar as &$item )
    {
        $item = array_unique( $item );
    }

    print_r( $ar );

不像使用array_map()那么酷,但它可以工作。