ホームページ >バックエンド開発 >PHPチュートリアル >もっと良い方法があるかどうかを確認してください

もっと良い方法があるかどうかを確認してください

WBOY
WBOYオリジナル
2016-06-13 12:06:16872ブラウズ

もっと良い方法があるか見てみましょう
N 時間前に技術グループに投稿された質問を見たところです:
PHP を使用して文字列内に最も多く出現する文字を見つける方法

私のものアイデアは、まず文字列を配列に変換し、array_count_values を通じて要素の数を取得し、並べ替えて、一番上のものを最多回数として取得し、次に同じ最多回数を持つものが複数ある可能性があり、for ループでそれを見つけることです。 ...

<br />$testStr = 'rewruo ewjrewm' . PHP_EOL . 'hcywer国bg gfaaf d中国国国s国rew';<br />$testStr = preg_replace('/\s/', '', $testStr);<br />preg_match_all('/./u', $testStr, $strList);<br />$charCount = array_count_values($strList[0]);<br />arsort($charCount);<br />$maxCount = current($charCount);<br />foreach($charCount as $char => $count){<br />	if($count < $maxCount){<br />		break;<br />	}<br />	echo $char . '出现了 ' . $count . ' 次<br />';<br />}<br />

-----解決策---------------------- -------
もはや簡略化の余地はない
$testStr = 'rewruo ewjrewm' . PHP_EOL . 'hcywer国bg gfaaf d中国国国s国rew';<br />$testStr = preg_replace('/\s/', '', $testStr);<br />preg_match_all('/./u', $testStr, $strList);<br />$strList = array_count_values($strList[0]);<br />$r = array_keys($strList, $m = max($strList));<br />echo join($t=" 出现了 $m 次<br />", $r).$t;<br />
r が 5 回出現
e が 5 回出現
w が 5 回出現
国が 5 回出現

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