• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列操作)

配列操作とは?出現頻度を比較する方法

このQ&Aのポイント
  • 長文のテキストから、単語単位、かつその出現回数を配列にまとめる方法を教えてください。
  • 2つのテキストから単語単位、出現回数を配列にまとめ、出現頻度を比較する方法を教えてください。
  • 出現頻度が高い順に配列を表示し、2つの配列を比較して同じ単語のみを表示させる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

No1です。 訂正です。「出現頻度の多い順」ということで、降順ソートをするのを忘れてしまいました。ゴメンナサイ 試しに、$resultを適当にバラバラにしてみますね。 $result=array ( "テクニック" => 18 , "クランク" => 32, "ため" => 15, "表示" => 25, "対策" => 61,"て" => 24 ,"サイト" => 24,"運営" => 21 , "徹底" => 14 ); $result2=array ( "教えて" => 61, "PHP" => 32, "運営" => 25, "CGI" => 24 ,"html" => 24 ,"桜" => 21 ,"表示" => 18, "PEAR" => 15, "http" => 14 ); //ここで、$resultを出現頻度の高い順にソート arsort($result); //$resultを出力 foreach($result as $k=>$v){ echo $k.$v; //$resultのキーが$result2にそのキーが存在すれば、出力 if(isset($result2[$k]) && $result2[$k]!=""){ echo '='.$k.$result2[$k]; } //終了 echo '<br>'; }

a4_chapp
質問者

お礼

maenet1972さま はじめまして、こんばんは! 質問投稿後、早速の回答をありがとうございます! ソースまで記載いただき感謝です。もっと複雑なソースになると考えていたので、とても勉強になりました。有難う御座いました!

その他の回答 (1)

回答No.1

まず、メインとなる$resultを出力し、$resultのキーと$result2のキーが一致した場合だけ、右側を表示させます。 単純なソースを載せておきますので、ご参考までに $result=array ( "対策" => 61, "クランク" => 32, "表示" => 25, "て" => 24 ,"サイト" => 24,"運営" => 21 ,"テクニック" => 18 ,"ため" => 15, "徹底" => 14 ); $result2=array ( "教えて" => 61, "PHP" => 32, "運営" => 25, "CGI" => 24 ,"html" => 24 ,"桜" => 21 ,"表示" => 18, "PEAR" => 15, "http" => 14 ); //まず、$resultを出力 foreach($result as $k=>$v){ echo $k.$v; //$resultのキーが$result2にそのキーが存在すれば、出力 if(isset($result2[$k]) && $result2[$k]!=""){ echo '='.$k.$result2[$k]; } //終了 echo '<br>'; }

関連するQ&A