牛骨文教育服务平台(让学习变的简单)
博文笔记
  • 当前位置:
  • 牛骨文教育服务平台
  • >
  • 博文笔记
  • >
  • php面试题:如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码。

php面试题:如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码。

创建时间:2015-04-11 投稿人: 浏览次数:143
如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码。


$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);



截取前四个逗号的内容


<?php
$array = array(
"1,2,3,4,5",
"6,7,8,9,10",
"11,12,13,14,15"
);
//这个数组用来储存分割好的字符串
$new_array = array();

foreach ($array as $str){
$sub_array = explode("," , $str);//根据,进行切割
$count = 0;
$pj_str = ""; //进行拼接的字符串
foreach ($sub_array as $sub){
if($count == 4){ //如果等于4,满足条件,跳出循环
break;
}
$pj_str .= $sub; //拼接
$count++;
}
$new_array[] = $pj_str;
}

print_r($new_array);
?>

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。