PHP基于密钥从多维数组中删除重复项

时间:2011-04-11 14:58:14

标签: php arrays multidimensional-array

我有一个多维数组($ array),其中的条目如下:

{ ["upload/example.gif"]=> array(5) { 
     ["title"]=> string(12) "This is me" 
     ["excerpt"]=> string(24) "This is a photo of a tree" 
     ["img"]=> string(42) "upload/example.gif"
     ["link"]=> string(23) "http://www.google.co.uk" 
     ["source"]=> string(6) "custom" 
   }
}

我需要能够根据密钥删除$array中的任何重复值。所以如果我的数组是:

$array = array( ["upload/example.gif"] => etc....
                ["upload/tree.gif"] => etc....
                ["upload/example.gif"] => etc....)

我可以删除其中一个["upload/example.gif"] => etc....数组。

我试过了:

$array = array_map('unserialize', array_unique(array_map('serialize', $array)));

但这不起作用。

提前致谢。

1 个答案:

答案 0 :(得分:0)

netcoder正确地回答了这个问题,我只是希望它出现在答案框中(而不是评论)。

关联数组(或任何数组)中不能有重复键。由于它是一个数组,你可以通过gauranteed获得独特的密钥。

顺便说一句,如果您在不同的密钥中发现重复数据,可以通过取消设置来删除冗余密钥。

unset($array['delete_me']);

http://php.net/manual/en/function.unset.php