ホームページ >バックエンド開発 >PHPの問題 >文字列内の各文字の出現数を数える方法

文字列内の各文字の出現数を数える方法

藏色散人
藏色散人オリジナル
2021-03-19 10:54:4421180ブラウズ

文字列内の各文字の出現数をカウントする方法: 最初に PHP サンプル ファイルを作成し、次に配列に出現した文字を記録し、最後に foreach ループを使用して文字を走査してカウントします。文字列内に出現する回数だけ。

文字列内の各文字の出現数を数える方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

この記事の実装例を説明します。文字内のすべての文字に関する PHP 統計情報 文字列内の出現数をカウントする方法。参考のために皆さんと共有してください。詳細は次のとおりです:

まず効果を見てみましょう:

文字列内の各文字の出現数を数える方法

アルゴリズム:

文字列を 1 回ループし (この例では $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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。