php 计算字符串相邻最大重复数_php如何解决字符串中重复字符的次数并且排序输出的方法...
在php開發(fā)中有這樣的需求。在指定的字符串中提取出每個(gè)單位字符出現(xiàn)的次數(shù),并且倒序排序,截取前4個(gè)。留作使用。剛拿到這個(gè)需求的時(shí)候,我想了想,難道要把每個(gè)字符全部切割出來之后,一一的比對(duì)計(jì)算出相應(yīng)的出現(xiàn)次數(shù)嗎?我的直覺告訴,這樣不好。其實(shí)php中用相應(yīng)的函數(shù)array_count_values()可以直接的計(jì)算出每個(gè)數(shù)組值出現(xiàn)的次數(shù)。倒序可以使用arsort(),切割數(shù)組也有函數(shù)array_slice()。所以說,方法我們已經(jīng)知道了,那么看我們?cè)趺磶У綄?shí)際的運(yùn)用吧。
字符串:
簡(jiǎn)約,簡(jiǎn)約,金屬,皮革,后現(xiàn)代,直角,現(xiàn)代,豪華,布藝,金屬,直角,現(xiàn)代,
需求:
在指定的字符串中判斷出單位字符出現(xiàn)的次數(shù),并且取出出現(xiàn)次數(shù)最多的幾個(gè)。
php代碼:
$str?=?'簡(jiǎn)約,簡(jiǎn)約,金屬,皮革,后現(xiàn)代,直角,現(xiàn)代,豪華,布藝,金屬,直角,現(xiàn)代,';
$tag_str?=?rtrim($str,',');
$tag_arr?=?explode(',',$tag_str);
//?統(tǒng)計(jì)出現(xiàn)的次數(shù)
$tag_arr?=?array_count_values($tag_arr);
echo?'
';print_r($tag_arr);
//?排序
echo?'
';
arsort($tag_arr);
echo?'
';print_r($tag_arr);
//?去除前4個(gè)值
echo?'
';
$tag_arr?=?array_slice($tag_arr,0,4,true);
echo?'
';print_r($tag_arr);
//?組成字符串
echo?'
';
$str?=?'';
foreach($tag_arr?as?$k=>$v){
$str?.=?$k.',';
}
echo?$str;
?>
輸出代碼:Array
(
[簡(jiǎn)約]?=>?2
[金屬]?=>?2
[皮革]?=>?1
[后現(xiàn)代]?=>?1
[直角]?=>?2
[現(xiàn)代]?=>?2
[豪華]?=>?1
[布藝]?=>?1
)
Array
(
[簡(jiǎn)約]?=>?2
[現(xiàn)代]?=>?2
[金屬]?=>?2
[直角]?=>?2
[布藝]?=>?1
[豪華]?=>?1
[后現(xiàn)代]?=>?1
[皮革]?=>?1
)
Array
(
[簡(jiǎn)約]?=>?2
[現(xiàn)代]?=>?2
[金屬]?=>?2
[直角]?=>?2
)
簡(jiǎn)約,現(xiàn)代,金屬,直角,
通過輸出php代碼,我們很清晰的看到如何用php解決字符串中重復(fù)字符的次數(shù)并且排序輸出的問題。
總結(jié)
以上是生活随笔為你收集整理的php 计算字符串相邻最大重复数_php如何解决字符串中重复字符的次数并且排序输出的方法...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kubenerte启动_Kubenert
- 下一篇: 替换字符串指定位置字符 php,PHP