本文實例講述了PHP實現統計所有字符在字符串中出現次數的方法。分享給大家供大家參考,具體如下:
先來看看效果:

算法:
循環一次字符串(本例的$str
),把出現過的字符串記錄在一個數組(如本例的$strRecord
)內,如果已經此記錄函數已經有,則不記錄;
在每個字符串時,拿來與記錄數組的值進行比較(本例的$strRecord[]['key']
),如果記錄里的某個值和這個字符串一樣,就記錄次數+1(本例的$strRecord[]['count']
);
當然,設置一個變量,默認為false(如本例的$found
),記錄每次比較完,如果記錄數組已經有這個值,就設置為true,通過這個標記,把沒有遇到過的數組記錄到數組里
實現代碼:
?php
//統計字符串中出現的字符,出現次數
echo 'pre>';
$str = 'aaabbccqqwweedfghhjffffffffggggggggg';//字符串示例
echo $str.'br/>';
$strRecord=array();//把出現過的字符記錄在此數組中,如果記錄有,則不記錄,
for($i=0;$istrlen($str);$i++){
$found = 0;//默認設置為沒有遇到過
foreach((array)$strRecord as $k=>$v){
if($str[$i] == $v['key']){
$strRecord[$k]['count'] += 1;//已經遇到,count + 1;
$found = 1;//設置已經遇到過的,標記
continue;//如果已經遇到,不用再循環記錄數組了,繼續下一個字符串比較
}
}
if(!$found){
$strRecord[] = array('key'=>$str[$i],'count'=>1);//記錄沒有遇到過的字符串
}
}
print_r($strRecord);
?>
PS:這里再為大家推薦2款非常方便的統計工具供大家參考使用:
在線字數統計工具:
http://tools.jb51.net/code/zishutongji
在線字符統計與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數據結構與算法教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php程序設計算法總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- php查找字符串出現次數的方法
- php計算數組相同值出現次數的代碼(array_count_values)
- PHP獲取數組長度或某個值出現次數的方法
- php獲取字符串中各個字符出現次數的方法
- PHP中substr_count()函數獲取子字符串出現次數的方法
- PHP實現找出數組中出現次數超過數組長度一半的數字算法示例
- PHP統計二維數組元素個數的方法
- php統計數組元素個數的方法
- PHP統計數值數組中出現頻率最多的10個數字的方法
- PHP實現統計一個數字在排序數組中出現次數的方法