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


removing array duplicates from associative array

所以我有:

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)));

似乎它没有深入内心,既不想硬编码动物,也不想对团队进行硬编码。

$data = [
    'animals' => ['horse', 'dog', 'dog'],
    'team' => ['cubs', 'reds', 'cubs']
];
$result = array_map('array_unique', $data);
print_r($result);

这里有一个选项:

    $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() 那么酷,但它有效。