【发布时间】:2011-05-04 15:45:30
【问题描述】:
我有一个类似这样的数组。
$images = array
(
array('src' => 'a.jpg'),
array('src' => 'b.jpg'),
array('src' => 'c.jpg'),
array('src' => 'd.jpg'),
array('src' => 'b.jpg'),
array('src' => 'c.jpg'),
array('src' => 'b.jpg'),
);
还有高度和宽度,但在这里并不重要。我想要的是删除重复项。我所做的感觉相当笨拙。
$filtered = array();
foreach($images as $image)
{
$filtered[$image['src']] = $image;
}
$images = array_values($filtered);
有没有更好的方法来做到这一点?有什么建议吗?
【问题讨论】:
-
想不出一个,我唯一可能做的就是把你的中心线改成
if(isset($filtered[$image['src']])) $filtered[$image['src']] = $image; -
这似乎是一个在线性时间内运行的好解决方案。
标签: php arrays filtering unique