本文實例講述了PHP實現統計所有字符在字符串中出現次數的方法。分享給大家供大家參考,具體如下:
先來看看效果:
算法:
循環一次字符串(本例的$str
),把出現過的字符串記錄在一個數組(如本例的$strRecord
)內,如果已經此記錄函數已經有,則不記錄;
在每個字符串時,拿來與記錄數組的值進行比較(本例的$strRecord[]['key']
),如果記錄里的某個值和這個字符串一樣,就記錄次數+1(本例的$strRecord[]['count']
);
當然,設置一個變量,默認為false(如本例的$found
),記錄每次比較完,如果記錄數組已經有這個值,就設置為true,通過這個標記,把沒有遇到過的數組記錄到數組里
實現代碼:
<?php //統計字符串中出現的字符,出現次數 echo '<pre>'; $str = 'aaabbccqqwweedfghhjffffffffggggggggg';//字符串示例 echo $str.'<br/>'; $strRecord=array();//把出現過的字符記錄在此數組中,如果記錄有,則不記錄, for($i=0;$i<strlen($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程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。