【发布时间】:2017-05-19 03:58:44
【问题描述】:
得到一个像这样的多维数组:
[['key'=>'foo', 'Rating'=>5] ,
['key'=>'bar', 'Rating'=>1] ,
['key'=>'Tee', 'Rating'=>3] ,
['key'=>'foo', 'Rating'=>10] ,
['key'=>'foo', 'Rating'=>1]]
我想根据特定键和评级系统删除重复项,同时保持除索引键之外的原始数组结构。
所以最终的结果应该是这样的:
[['key'=>'bar', 'Rating'=>1] ,
['key'=>'Tee', 'Rating'=>3] ,
['key'=>'foo', 'Rating'=>10]]
我正在寻找解决此问题的有效方法。
理想情况下是一个array_unique() 函数,它接受一个键值作为参数来查找给定数组和Rating 键上的重复项。
array_key_unique($array, $uniqe_key, $Rating);
我想知道是否有任何方法可以使用 MySQL 查询来做到这一点?
【问题讨论】:
-
你是怎么知道
['key'=>'foo', 'Rating'=>5] ,是重复的,需要删除。查看您想要的输出并告诉 -
您还应该发布从 MySQL 获取数据的部分,并发布带有数据的表结构,因为您的问题被标记为 MySQL.... 最好的解决方案是让数据库处理分组和最大值是这样的... SELECT Rates.
key, MAX(Rates.Rating) FROM Rates GROUP BY Rates.key
标签: php mysql arrays multidimensional-array