トップ 戻る自分で作る blog ツール
(PHPによるブログシステム作成)

ファイル内行のランダム表示

PHPに限らず、Webページ内の動的コンテンツを生成する処理の基本は、ファイル読み込みと文字列表示でしょう。今回は、そのファイル読み込みと文字列の表示を確認するために、「ファイルを読み込み、その中からランダムに一行選んで表示する」処理を試しみてます。
このようなスクリプトがあると、予め表示したい内容をいくつかファイルにリストアップしておけばページを表示する度に「その内のどれか」をランダムに表示できるので、なかなか便利です。ページが表示されるたびに違う絵が表示されるスクリプトや、占い、ルーレットくじなどに利用できるでしょう。

ファイル読み込みとランダム表示

で、さっそくPHPのスクリプトを書いてみたのですが、あっけないくらい簡単でした(^^;。というのも、PHPには「ファイルの内容を行単位で配列に読み込むfile()」「配列の内容を乱数でかき混ぜるshuffle()」があるからです。これらの関数を使うと、かき混ぜた後で「配列の先頭要素をechoで表示」すれば、「ファイル内の行を1行ランダムに表示」することができますね。

こんな感じに書いてみました。

今回のスクリプト
<?
  // 配列$dataにfileline.txtの各行を読み込む
  $data = file("fileline.txt");

  // 乱数列初期化
  srand(time());

  // $dataの要素を乱数で並べ替え
  shuffle($data);

  // $dataの先頭要素を表示
  echo $data[0];
?>

ファイルfileline.txtの各行に1〜5までの数字を入れて実行した場合の実行結果は、以下のとおりです。

実行結果
3

トップ 戻る今日からつかえるPHP5サンプル集