$a = array(
  'a012',
  'a023',
  'a034',
  'a010',
  'a221',
  'a133',
  'a000',
  'a111',
  'a222',
);
foreach($a as $v) {
  $t = array_count_values(str_split($v));
  $res[$v] = max($t);
}
print_r($res); 
Array
(
    [a012] => 1
    [a023] => 1
    [a034] => 1
    [a010] => 2
    [a221] => 2
    [a133] => 2
    [a000] => 3
    [a111] => 3
    [a222] => 3
)

解决方案 »

  1.   

    思路:
    1.用str_split将字符串分割为数组
    2.使用array_count_values返回每个字符出现的次数
    3.max,取得重复最多的次数。
    <?php
    $arr = array('a012','a023','a034','a010','a221','a133','a000','a111','a222');
    $arrcount = array();foreach($arr as $val){
        $tmp = array_count_values(str_split($val));
        $arrcount[$val] = max($tmp);
    }print_r($arrcount);
    ?>