【发布时间】:2016-03-31 22:04:07
【问题描述】:
我有一个多维数组,我想从中获取唯一的子值,但还要计算这些唯一子值出现的次数。
例如,这将是我的起始数组:
[0] => Array
(
[0] => Array
(
[id] => 1533438473619168
)
[1] => Array
(
[id] => 3333333333333333
)
)
[1] => Array
(
[0] => Array
(
[id] => 1533438473619168
)
[1] => Array
(
[id] => 5555555555555555
)
)
[2] => Array
(
[0] => Array
(
[id] => 1533438473619168
)
[1] => Array
(
[id] => 77777777777777777
)
)
最后,我想要一个如下所示的数组:
[0] => Array
(
[0] => Array
(
[id] => 1533438473619168
[count] => 3
)
[1] => Array
(
[id] => 3333333333333333
[count] => 1
)
[2] => Array
(
[id] => 5555555555555555
[count] => 1
)
[3] => Array
(
[id] => 77777777777777777
[count] => 1
)
)
是否有任何通用/简单的方法可以做到这一点,而无需遍历每个值的第一个数组、比较/存储临时数组中的值、检查它们并添加到计数?
【问题讨论】:
-
不,没有比这更简单的方法了。
-
使用 id 作为新数组的键以避免比较/检查。然后您可以使用
array_values将其删除 -
对于初学者,我会将所有数组合并在一起,然后您只需遍历一个数组。
-
感谢您的所有帮助。我最终只是手动完成(并不难,正如我预期的那样,但比我希望的要麻烦)。
标签: php arrays multidimensional-array count numbers