我需要计算给定数组中每个元素的出现次数。到目前为止,我已经设法实现了这一点,除了它循环所有元素,我只需要输出那些唯一的元素。
<?php
$array = array('b','b','a','a','b');
foreach ($array as $element) {
$hold = implode(" ", $array);
print $element. ' -> ' . substr_count($hold, $element) . '<br />';
}
因此输出现在是:
b -> 3
b -> 3
a -> 2
a -> 2
b -> 3
我想删除重复的元素,但如果我在array_unique()
之前implode()
并且随后进行计数,由于我删除了重复元素,我只会发生一次。
答案 0 :(得分:2)
使用array_count_values()
为您完成。
$counts = array_count_values($array);
foreach ($counts as $match => $count) {
echo "$match -> $count";
}