さて、今回の講義ではPHP の乱数について学んでいきますよ
乱数……また知らない言葉が出てきましたねぇ
僕もあまりイメージがわかないですね
難しく聞こえるかもしれませんが、簡単に言えば乱数は「区切られた範囲をランダムに表示する」ものです。WEB上で表示されるパスワードの仕組みや、クイズなどさまざまなポイントで使うことが出来ます。 今回は、乱数の作り方や使い方などについて詳しく紹介しましょう。
内容を入力してください。ということで、さっそく乱数を学んでいきましょう
PHPの学習:乱数の作り方と使い方
PHPで乱数を使用する方法は色々とあります。まずは基本となる「乱数を生成する方法」から紹介していきましょう。
さて、PHPで乱数を生成するためには「rand関数」を使用します
Rand関数とは、前回の学習で紹介した「関数」で定義されている中の「組み込み関数」に分類される関数です。新たに自分で設定する必要はありません。簡単に使用出来ます。
rand関数の使い方
まずは、わかりやすいようにrand関数を実際に使用するとどのような結果になるのか紹介しましょう
まずは、わかりやすいようにrand関数を実際に使用するとどのような結果になるのか紹介しましょう
よっ!待ってました!
実際に使った際のrand関数の書き方と結果は下記のようになります。
プログラミングの記述に関してはrand関数を表示しているだけなので、非常にシンプルです。これだけで「ランダムな数値」を生成することが出来ます。
配列の要素をランダムに取得する
上記ではrand関数の基礎について紹介しました。続いて、配列の要素をランダムに取得する方法です
配列の要素をランダムに取得するためには「array_rand関数」を使用します。こちらもrand関数と同じく組み込み関数となっていますので、使い方は簡単です。 具体的な使い方については下記の通りになります。
このように5つの要素がある連想配列($color)の要素をランダムに3つ取得して、新たに「$rand_color」という変数に配列として格納しているのがポイントです。こちらで紹介したarray_rand関数を使用することで、配列の要素をランダムに取得することが出来ます。
ポイントとしては、ランダムに取得する配列と、取得する値を指定する必要があります。そのため、それらは引数として設定しなければいけません。
乱数を使って選択肢がランダムになるクイズを作成しよう
さて、ここからPHPを使ってWEB上でクイズを作成していきます。WEB上で表示させるために、今回はHTMLの要素も少しだけ含まれるので注意してくださいね
以前にも紹介しましたが、PHPはWEB上で動的なプログラミングをする際に用いられる言語なので、HTMLについても理解しなければいけません。 それでは、紹介していきましょう。
基本となるHTMLの枠組みを作成する
PHPのプログラミングをする前に、まずは基本となるHTMLの枠組みから作っていきます。
今回は「4択のクイズ」を作成しますので、ラジオボタンを使った選択問題を作成しましょう。 枠組みとなるHTMLのプログラミングですが、こちらの画像のように作成します。
基本となるのはこのような形で、プログラミング部分の上部の赤枠内はクイズの基本となる「問題文、選択肢、解答」の3つの要素を、PHPを使って変数に格納しています。
赤枠の下部については、HTMLとPHPを使って「問題文」・「ラジオボタン」・「選択肢」・「回答ボタン」の4つの要素を出力しています。
これで表記部分に関しては完成でも良いのですが、「<input type=”radio”~~」というのが4連続で書き込まれているのは少し不格好です。
この形式にしてしまうと4択の問題しか使用することが出来ないので、3択や5択になったときに困ります。 そのため、このような場合には以前に学習した「foreach文」を使って配列の要素の数だけループする使い方をすると便利です。
先ほど紹介した赤枠の下部をこちらに変更するだけで、選択肢の数が変動しても対応できるようになります。
これで完了でも良いのですが、このままだと選択肢が表示される順番が変動しませんので、常に1番が正解となってしまいます。 そのため、次は選択肢をランダムに表示させるようにしていきましょう。
shuffle関数を使って配列の中身をランダムにしよう
選択肢をランダムにするために今回は「shuffle関数」を使用していきます。 shuffle関数は指定した引数の中身をシャッフルするというものなので、使用するポイントはクイズの初期情報を入力した部分です。
このようにすると、$choiceの中身をシャッフルすることできるので、出力結果のように表示される選択肢をバラバラにすることが出来ます。
テスト:クイズ問題を作ってみよう
それでは恒例となりました、練習問題の時間です。と言っても、今回は前半部分でほとんどの説明をしたので、新たにクイズを作ると言っても問題文と選択肢を変えるだけで完成します
つまり、簡単なんですね。 俄然、やる気が出てきましたよ
今回は前半で紹介した部分をキッチリと理解しているかを確認するために下記の条件とします。5択の問題を作る。これだけです。
前半で紹介したのは4択だったので、それを5択にして出力させてください。 参考画像は下記に表示します。
答えはこの通りになります。
変更した部分としては、問題文を格納する「$question」の中身と、配列の要素を1つ追加しただけです。
PHPの学習:乱数まとめ
というわけで、今回の講義では乱数とランダムにするための関数について紹介しました
ありがとうございました
今回もスキルアップしちゃいましたねー
ホームページを作るのにランダムにすることを覚えて何の役に立つのか分からない人も多いかもしれません。でも、今回学習したことを活かせばWEBアプリでクイズゲームなどを作ることも出来ます。
また、テスト勉強や資格試験の勉強をする際にも問題文と選択肢を自分で作ることで高い学習効果を得ることが出来ますので、色々なことに使えます。 次回は「配列の要素をカウントする方法」について紹介していきますね。