【发布时间】:2015-10-13 08:59:46
【问题描述】:
$users = array(
array(1,'name1'),
array(1,'name1'),
array(2,'name2'),
array(3,'name3')
);
现在添加以下代码后,我可以制作唯一数组了。
array_map("unserialize", array_unique(array_map("serialize", $users)));
我可以使用以下代码计算重复项。但它缺少名称字段。所以,我需要做一些事情来获取名称以及 id 和重复计数。
array_count_values(array_map(function($item) {
return $item['id'];
}, $users));
我需要循环数组得到这样的东西吗?或者php中还有什么技巧?
$new_users = array(
array(1,'name1', 2), //two times + descending order
array(2,'name2', 1),
array(3,'name3', 1)
);
【问题讨论】:
-
赞成使用“混合”这个词。感觉就像一场 80 年代的学校舞会。
-
不完全相同,但这里有一个类似的问题 - stackoverflow.com/questions/14202108/…
-
与其展示一堆几乎正确的代码,不如描述你真正想要实现的目标。您想将所有重复项合并为一项并计算重复项的数量吗?
-
@deceze 我正在更新我期待的最终结果。这一切都很好。有没有办法以最短的代码实现它们以减少工作量。
标签: php arrays multidimensional-array