PHP實現(xiàn)統(tǒng)計所有字符在字符串中出現(xiàn)次數(shù)的方法
本文實例講述了PHP實現(xiàn)統(tǒng)計所有字符在字符串中出現(xiàn)次數(shù)的方法。分享給大家供大家參考,具體如下:
先來看看效果:
算法:
循環(huán)一次字符串(本例的$str
),把出現(xiàn)過的字符串記錄在一個數(shù)組(如本例的$strRecord
)內(nèi),如果已經(jīng)此記錄函數(shù)已經(jīng)有,則不記錄;
在每個字符串時,拿來與記錄數(shù)組的值進行比較(本例的$strRecord[]['key']
),如果記錄里的某個值和這個字符串一樣,就記錄次數(shù)+1(本例的$strRecord[]['count']
);
當然,設(shè)置一個變量,默認為false(如本例的$found
),記錄每次比較完,如果記錄數(shù)組已經(jīng)有這個值,就設(shè)置為true,通過這個標記,把沒有遇到過的數(shù)組記錄到數(shù)組里
實現(xiàn)代碼:
<?php //統(tǒng)計字符串中出現(xiàn)的字符,出現(xiàn)次數(shù) echo '<pre>'; $str = 'aaabbccqqwweedfghhjffffffffggggggggg';//字符串示例 echo $str.'<br/>'; $strRecord=array();//把出現(xiàn)過的字符記錄在此數(shù)組中,如果記錄有,則不記錄, for($i=0;$i<strlen($str);$i++){ $found = 0;//默認設(shè)置為沒有遇到過 foreach((array)$strRecord as $k=>$v){ if($str[$i] == $v['key']){ $strRecord[$k]['count'] += 1;//已經(jīng)遇到,count + 1; $found = 1;//設(shè)置已經(jīng)遇到過的,標記 continue;//如果已經(jīng)遇到,不用再循環(huán)記錄數(shù)組了,繼續(xù)下一個字符串比較 } } if(!$found){ $strRecord[] = array('key'=>$str[$i],'count'=>1);//記錄沒有遇到過的字符串 } } print_r($strRecord); ?>
PS:這里再為大家推薦2款非常方便的統(tǒng)計工具供大家參考使用:
在線字數(shù)統(tǒng)計工具:
http://tools.jb51.net/code/zishutongji
在線字符統(tǒng)計與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》及《php程序設(shè)計算法總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- php查找字符串出現(xiàn)次數(shù)的方法
- php計算數(shù)組相同值出現(xiàn)次數(shù)的代碼(array_count_values)
- PHP獲取數(shù)組長度或某個值出現(xiàn)次數(shù)的方法
- php獲取字符串中各個字符出現(xiàn)次數(shù)的方法
- PHP中substr_count()函數(shù)獲取子字符串出現(xiàn)次數(shù)的方法
- PHP實現(xiàn)找出數(shù)組中出現(xiàn)次數(shù)超過數(shù)組長度一半的數(shù)字算法示例
- PHP統(tǒng)計二維數(shù)組元素個數(shù)的方法
- php統(tǒng)計數(shù)組元素個數(shù)的方法
- PHP統(tǒng)計數(shù)值數(shù)組中出現(xiàn)頻率最多的10個數(shù)字的方法
- PHP實現(xiàn)統(tǒng)計一個數(shù)字在排序數(shù)組中出現(xiàn)次數(shù)的方法
相關(guān)文章
php魔術(shù)方法與魔術(shù)變量、內(nèi)置方法與內(nèi)置變量的深入分析
本篇文章是對php魔術(shù)方法與魔術(shù)變量、內(nèi)置方法與內(nèi)置變量進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP基于PDO實現(xiàn)的SQLite操作類【包含增刪改查及事務(wù)等操作】
這篇文章主要介紹了PHP基于PDO實現(xiàn)的SQLite操作類,包含增刪改查及事務(wù)等操作實現(xiàn)技巧與使用方法,需要的朋友可以參考下2017-06-06ThinkPHP跳轉(zhuǎn)頁success及error模板實例教程
這篇文章主要介紹了ThinkPHP跳轉(zhuǎn)頁success及error模板實例教程,可以幫助初學者進一步熟悉ThinkPHP的頁面跳轉(zhuǎn)流程,需要的朋友可以參考下2014-07-07PHP編碼轉(zhuǎn)換函數(shù) 自動轉(zhuǎn)換字符集支持數(shù)組轉(zhuǎn)換
當我們在接受未知客戶端提交的數(shù)據(jù),由于各客戶端的編碼不統(tǒng)一,但在我們的服務(wù)器端最終只能以一種編碼方式來處理,這種情況下就會涉及到編碼轉(zhuǎn)換問題2012-12-12PHP遞歸遍歷指定目錄的文件并統(tǒng)計文件數(shù)量的方法
這篇文章主要介紹了PHP遞歸遍歷指定目錄的文件并統(tǒng)計文件數(shù)量的方法,涉及php文件及目錄操作的技巧,非常具有實用價值,需要的朋友可以參考下2015-03-03