PHP:过滤重复项的更好方法?
我有一个类似这样的数组。
$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);
有更好的方法吗?有什么建议吗?
I have an array sort of like this.
$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'),
);
There is also height and width, but not important here. What I want is to remove the duplicates. What I have done feels rather clunky.
$filtered = array();
foreach($images as $image)
{
$filtered[$image['src']] = $image;
}
$images = array_values($filtered);
Is there a better way to do this? Any advice?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这可能是 array_reduce 的一个很好的用例
This would probably be a good use case for array_reduce
使用 array_unique。
Use array_unique.
你如何构建阵列? 来防止它被添加。
可能会使用...只是一个想法
How are you building the array? Possibly keep it from ever being added using...
Just a thought.
有时我使用
你必须了解 array_flip 的 行为,否则你可能会得到意想不到的结果结果。需要注意的一些事情是:
Sometimes I use
You have to understand array_flip's behavior though or you might get unexpected results. Some things to note are:
使用 PHP 的
array_unique()
。代码:
Use PHP's
array_unique()
.Code: