php統計全部字元在字串中出現的次數

來源:互聯網
上載者:User
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);?>


  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.