首頁 >後端開發 >php教程 >php實作統計所有字元在字串中出現次數的方法

php實作統計所有字元在字串中出現次數的方法

黄舟
黄舟原創
2017-10-18 09:24:191608瀏覽

這篇文章主要介紹了PHP實作統計所有字元在字串中出現次數的方法,涉及php字元遍歷與統計運算相關操作技巧,需要的朋友可以參考下

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

先來看看效果:

演算法:

循環一次字串(本例的$str),把出現過的字串記錄在一個陣列(如本例的$strRecord)內,如果已經此記錄函數已經有,則不記錄;

在每個字串時,拿來與記錄數組的值進行比較(本例的$strRecord[]['key']),如果記錄裡的某個值和這個字串一樣,就記錄次數+1(本例的$strRecord[]['count ']);

當然,設定一個變量,預設為false(如本例的$found),記錄每次比較完,如果記錄數組已經有這個值,就設定為true,透過這個標記,把沒有遇過的陣列記錄到陣列裡

#實作程式碼:


### ####
<?php
//统计字符串中出现的字符,出现次数
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
$str = &#39;aaabbccqqwweedfghhjffffffffggggggggg&#39;;//字符串示例
echo $str.&#39;<br/>&#39;;
$strRecord=array();//把出现过的字符记录在此数组中,如果记录有,则不记录,
for($i=0;$i<strlen($str);$i++){
 $found = 0;//默认设置为没有遇到过
 foreach((array)$strRecord as $k=>$v){
  if($str[$i] == $v[&#39;key&#39;]){
   $strRecord[$k][&#39;count&#39;] += 1;//已经遇到,count + 1;
   $found = 1;//设置已经遇到过的,标记
   continue;//如果已经遇到,不用再循环记录数组了,继续下一个字符串比较
  }
 }
 if(!$found){
  $strRecord[] = array(&#39;key&#39;=>$str[$i],&#39;count&#39;=>1);//记录没有遇到过的字符串
 }
}
print_r($strRecord);
?>

以上是php實作統計所有字元在字串中出現次數的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn