PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

PHPスクリプトでサイコロを作るには、単純にmt_rand(1, 6)と記述すれば済みます。この関数で1から6までがランダムに取得できます。サイコロの出目数を検証するPHPスクリプトを作ってみましょう。

<?php
// 出目をカウントする配列を作成(初期化)
$ar = array_fill(0, 8, 0);

// 出目の出現数をカウント
for ($i = 0; $i < 1000; $i++) {
    $a = mt_rand(1, 6); // 1から6をランダムに取得
    $ar[$a] += 1;
}

// 出目の出現数の結果を出力
print_r($ar);
?>

○実行結果(1から6がほぼ均等に発生)

Array ( [0] => 0 [1] => 182 [2] => 168 [3] => 161 [4] => 154 [5] => 174 [6] => 161 [7] => 0 )

1から6までが、ほぼ同じくらい出現していることがわかります。0と7は不要ですが、変な出目が出ていないか確認するためのものです。

ちなみに、この出目を見て、「統計学上、PHPのサイコロでは"1"が最も多く出る」と言うのは間違いです。よくある多い順に並べ替えただけの統計データにだまされないようにしましょう。

このPHPのサイコロは正当なものだとわかりましたが、mt_rand(1, 6)を変更すれば、6がほとんど出ない“インチキ”なサイコロも作ることができます。本当に6が出なくなるのか検証してみましょう。

<?php
// 出目をカウントする配列を作成(初期化)
$ar = array_fill(0, 8, 0);

// 出目の出現数をカウント
for ($i = 0; $i < 1000; $i++) {
    $a = floor(rand(60, 360) / 60); // 1から6の頻度が偏る
    $ar[$a] += 1;
}

// 出目の出現数の結果を出力
print_r($ar);
?>

1から6をランダムに取得するコードを操作して、6がほとんど出ないように変更しました。実行結果を見ると、恐ろしいほど6が出なくなったことがわかります。

○実行結果

Array ( [0] => 0 [1] => 214 [2] => 179 [3] => 175 [4] => 245 [5] => 182 [6] => 5 [7] => 0 )
スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHP全般

PHP関数

WordPress

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク