php面試題:如何知道一個未知長度的字符串哪個字符出現的次數最多?(字符串可由字母,數字及其他字符組成)請寫出代碼。
如何知道一個未知長度的字符串哪個字符出現的次數最多?(字符串可由字母,數字及其他字符組成)請寫出代碼。
$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";//任意長度字符串
//解法一(最快速的解法,但是基本功要扎實)
$arr=str_split($str);
$arr=array_count_values($arr);
arsort($arr);
print_r($arr);
//解法二(對邏輯能力有一定要求)
$arr=str_split($str);
$con=array();
foreach ($arr as $v){
if (!@$con[$v]){
@$con[$v]=1;
}else{
@$con[$v]++;
}
}
arsort($con);
print_r($con);
//解法三
$arr=str_split($str);
$unique=array_unique($arr);
foreach ($unique as $a){
$arr2[$a]=substr_count($str, $a);
}
arsort($arr2);
print_r($arr2);