有一个数组(或字符串)$arr=[‘a’,’b’,’c’,’a’,’d’,’z’,’y’],由单个字符组成,求出现次数最多的字符出现的次数
$arr = ['a','a','b','a','a','b','y'];
// 记录数组
$rt_arr = [];
// 历史最大次数项记录
$max_arr = [
'count' => 0,
'index' => $arr[0],
];
for($i=0;$i<count($arr);$i++){
// 如果记录数组里不存在这个项就创建并赋值为1
if(empty($rt_arr[$arr[$i]])){
$rt_arr[$arr[$i]] = 1;
} else {
$rt_arr[$arr[$i]] +=1 ;
}
// 如果历史重复最多的次数比当前项小,就更新历史
if($rt_arr[$arr[$i]]>$max_arr['count']){
$max_arr = [
'count' => $rt_arr[$arr[$i]],
'index' => $arr[$i],
];
}
}
echo '重复最多的元素是:'.$max_arr['index'].'<br/>';
echo '重复次数是:'.$max_arr['count'];