這篇文章主要介紹了PHP實作統計所有字元在字串中出現次數的方法,涉及php字元遍歷與統計運算相關操作技巧,需要的朋友可以參考下
本文實例講述了PHP實作統計所有字元在字串中出現次數的方法。分享給大家供大家參考,具體如下:
先來看看效果:
演算法:
循環一次字串(本例的$str
),把出現過的字串記錄在一個陣列(如本例的$strRecord
)內,如果已經此記錄函數已經有,則不記錄;
在每個字串時,拿來與記錄數組的值進行比較(本例的$strRecord[]['key']
),如果記錄裡的某個值和這個字串一樣,就記錄次數+1(本例的$strRecord[]['count ']
);
當然,設定一個變量,預設為false(如本例的$found
),記錄每次比較完,如果記錄數組已經有這個值,就設定為true,透過這個標記,把沒有遇過的陣列記錄到陣列裡
#實作程式碼:
<?php //统计字符串中出现的字符,出现次数 echo '<pre class="brush:php;toolbar:false">'; $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); ?>
以上是php實作統計所有字元在字串中出現次數的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!