PHPで簡単な『おみくじ』作ってみた!

PHPで簡単なプログラミングつくってみた!

PHPで初めて簡単なプログラム作りにチャレンジしてます!
どんなプログラムをつくるかというと…

『おみくじ』です!

PHPで『おみくじ』をつくるのは、プログラミング初心者の登竜門らしいのです。
数行の簡単なプログラムで動くから、初心者向けなんです。

いきなり、数百行のプログラムを書くことはできませんから…ね!

今回参考にしたプログラム

Youtube動画で解説されている「programingbeginnerさん」の動画を参考にさせていただきました。
コードが分かりやすく解説されています。

作成したプログラムは、ほぼ動画の解説通りなんです・・・m(_ _)m
でも…最初はわからないし、細かいなところを間違えたり…大変でした。
例えば、「$」を「&」としていたり…超初歩的ミスです。。。

実際に自分で手を動かしてみると、いろいろな発見がありました。
こういうことが大切だな~と思いました。

ということで、実際にプログラミングやってみた!
という、個人的なチャレンジ企画です(^^;

PHP初心者にも分かりやすく解説してくださった「programingbeginnerさん」に感謝です m(_ _)m
ぜひ「programingbeginnerさん」の動画をご覧いただき、チャンネル登録をしてくださいね!

PHP『おみくじ』のファイル構成

PHP『おみくじ』のファイル構成こんな感じです。
フォルダ名やデータ名称は適当に変更してもOKです( ^ω^ )

omikuji01 (フォルダ)
├ style.css (スタイルシート)
└ omikuji.php (PHPプログラムファイル)

ちなみに、スタイルシートは無くても動きます。
少しだけ見た目(デザイン)を触ってます♪

作成した「おみくじ」プログラムは・・・
こちら ⇒ 運勢占い①

PHP『おみくじ』のプログラム

PHP『おみくじ』のプログラムは、以下の構成となっています。

  • 変数 $omikuji に配列を格納
  • 変数 $today にランダムな数値を発生させ格納
  • 変数 $result に、変数 $omikuji のランダムな結果を格納
  • 変数 $result を echo

実際のPHP記述はこんな感じです。

<?php
 $omikuji = array("大吉","中吉","小吉","吉","末吉","凶","大凶");
 $todays = rand(0, count($omikuji)-1);
 $result = $omikuji[$todays];
 echo $result;
?>

いきなり、難しいですね。。。
ひとつひとつ解説していきますね。

変数 $omikuji に値を格納する!

 $omikuji = array("大吉","中吉","小吉","吉","末吉","凶","大凶");

変数 $omikuji に、配列”array”を格納します。
配列”array”の中身(要素)は、『大吉、中吉、小吉、吉、末吉、凶、大凶』の7つです。

array の要素数は、適当に変更してもOKです。

変数 $today にランダムな値を格納する!

変数 ‘$today’ を指定し、おみくじ結果をランダムに表示させる仕掛けを設定します。

 $todays = rand(0, count($omikuji)-1);

変数 $today に、”randk関数”の結果を格納します。
“rand関数”とは、ランダムな数値を返すというPHPの関数です。

rand関数は、こんな感じで使用します。

rand(数値A,数値B) ・・・ 数値A~数値Bの範囲でランダムな数値を返す
rand(変数C,変数D) ・・・ 変数C~変数Dの範囲でランダムな数値を返す

rand()の中には、数値や変数を指定することができます。
ここでは、配列の中身をランダムな数字となるよう指定します。

まず、カウント関数”count”で、変数 $omikuji に格納されている配列数をカウントします。

count($omikuji) の結果は「7」となります。
それを、rand関数に組み入れます。

rand(0,count($omikuji)-1)

 

⇒ 0〜count($omikuji)-1 の範囲でランダムな数値を返すということ

なぜ、($omikuji)-1とするの?
count($omikuji) の結果は、「7」なので、rand(0,count($omikuji))でいいんじゃない?
と思いますよね。

配列の裏番号は「0」から始まることが決まっているため、「0」から指定することとなります。

$omikuji に格納されている配列数は「7」なので、配列の裏番号は「0~6」ということになります。
「0・1・2・3・4・5・6]の中から、ランダムにチョイスするわけです。

もし、「0~7」からランダムな数値として「7」が選択された場合は、配列の中を参照する裏番号がないため、プログラムエラーとなってしまいます。

そのため、『rand(0,count($omikuji)-1)』というように、count($omikuji)からわざわざ「-1」としているんですね。

配列の裏番号を指定するポイントは、「0」から数えること!

ややこしいですが、
結果、変数$todays に rand(0, count($omikuji)-1) を格納しすることで、
変数$todays には、常にランダムな数値が格納されるようになります。

ちょっと難しかったですかね~(^^;

変数 $result に値を格納する!

 $result = $omikuji[$todays];

変数 $omikuji の配列の中身を、ランダムな数値が格納された変数 $today の値(裏番号)から抽出された配列を返します。

上記でランダムな配列名が抽出された変数 $omikujiを、変数 $result に 格納します。

変数 $result を echo する!

 echo $result;

変数 $result の内容はランダムな配列名が格納されています。
変数 $result の内容を echo し、HTMLへ出力します。

これは簡単ですね!

PHP「おみくじ」プログラミングは一通りではない!?

えぇ!そうなの?
衝撃でした。

実際に、「PHP おみくじ 作り方」で検索してみてください。
いろいろな方が、おみくじの作り方を解説しています。

プログラムコードの使い方もワンパターンではないんですよね。

基本はこんな感じです。

①配列でおみくじ結果を指定
②配列内容をランダムな結果が表示されるようにする
③ランダムな結果を表示する

②のところが、人によって様々なやり方があることがわかりました。

簡単なプログラムでも、違う表現方法があることが分かり勉強になりますよ~
ぜひ、試してみて下さい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です