Posts Tagged ‘PHP’

[PHP] たくさんのキーワードからn個(n行)をランダムに選択する(抽出する)

いくつかのアイテムから n個をランダムに選択したいときがある。たとえば、人気のキーワードは日に数千あるけれど、上位10個を表示するだけだとランキング上位のキーワードが確固たる地位を築いてしまうだけで、おもしろくなかったりするので、そんなときは上位1000個から10個のキーワードをランダムに選択して表示するようにするといいじゃないかな。 たとえば、キーワードとその検索頻度を1行に並べた tsv形式のファイルが入力があるとする。例えば、 ほげほげ,123 ふがふが,110 …. かんぱり,32 なんとか,24 PHPで作るなら のようなコードで、標準入力から読み込んだキーワードから、指定した n個をランダムに選択(抽出)できる。たとえば、これを extract_n_randomly.php として保存し、 % php extract_n_randomly.php 10 < keywords.tsv とすれば、実行するたびに異なる 10個 のキーワードを得る。 ポイントは shuffle() ( cf. PHP: shuffle – Manual ) で、配列をランダムに並べ替えてくれる。


track feed