数组中字符串的出现

时间:2014-06-30 01:16:44

标签: php arrays

我需要计算给定数组中每个元素的出现次数。到目前为止,我已经设法实现了这一点,除了它循环所有元素,我只需要输出那些唯一的元素。

<?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()并且随后进行计数,由于我删除了重复元素,我只会发生一次。

1 个答案:

答案 0 :(得分:2)

使用array_count_values()为您完成。

$counts = array_count_values($array);

foreach ($counts as $match => $count) {
     echo "$match -> $count";
}