黒ブタBLOG

【コピペでOK!】宝箱ゲームやおみくじ等のPHPで確率を振り分けて条件分岐(ランダム出力)する方法

どーもこんにちは、黒ブタです。
今日はPHPでの確率抽選(ランダム)の方法をご紹介します。
かなり簡単なプログラムなので、コピペでもご利用出来ます。

さて、コード記述したいと思います。
まずは確率の設定
今回は分かりやすく1から100の確率をランダムで抽選します。

<?php $probability = mt_rand( 1, 100 );?>

mt_randがランダム抽選の関数で、1〜100を抽選。

続いて確率の振り分け
今回は1/4で当たり(25%)、1/2で小当たり(50%)、残り1/4でハズレ(25%)の抽選をします。

<?php $probability = mt_rand( 1, 100 );?>
<?php if ($probability <= 25):?><!--1〜25-->
<p>大当たり</p>
<p><?php echo $probability;?></p>
<?php elseif ($probability <= 75):?><!--26〜75-->
<p>小当たり</p>
<p><?php echo $probability;?></p>
<?php else:?><!--76〜100-->
<p>ハズレ</p>
<p><?php echo $probability;?></p>
<?php endif;?>

または

<?php $probability = mt_rand( 1, 100 );?>
<?php if ($probability <= 25):?><!--1〜25-->
<p>大当たり</p>
<p><?php echo $probability;?></p>
<?php elseif ($probability >= 26 && $probability <= 75):?><!--26〜75-->
<p>小当たり</p>
<p><?php echo $probability;?></p>
<?php elseif ($probability >= 76 && $probability <= 100):?><!--76〜100-->
<p>ハズレ</p>
<p><?php echo $probability;?></p>
<?php endif;?>

中間のみ振り分けて出力したい場合

<?php $probability = mt_rand( 1, 100 );?>
<?php if ($probability >= 26 && $probability <= 75):?><!--26〜75-->
<p>今回の数字は26以上75以下の「<?php echo $probability;?>」です</p>
<?php endif;?>

以上です。
ご参考になれば幸いです。

【おまけ】

この記事のトップにある本日の運勢のコードです。

<?php $probability = mt_rand( 1, 100 );?>
<?php if ($probability == 1):?>
<p>あなたの本日の運勢は「大大吉」です</p>
<?php elseif ($probability >= 2 && $probability <= 10):?>
<p>あなたの本日の運勢は「大吉」です</p>
<?php elseif ($probability >= 11 && $probability <= 30):?>
<p>あなたの本日の運勢は「吉」です</p>
<?php elseif ($probability >= 31 && $probability <= 50):?>
<p>あなたの本日の運勢は「中吉」です</p>
<?php elseif ($probability >= 51 && $probability <= 70):?>
<p>あなたの本日の運勢は「小吉」です</p>
<?php elseif ($probability >= 71 && $probability <= 80):?>
<p>あなたの本日の運勢は「末吉」です</p>
<?php elseif ($probability >= 81 && $probability <= 95):?>
<p>あなたの本日の運勢は「凶」です</p>
<?php elseif ($probability >= 96 && $probability <= 99):?>
<p>あなたの本日の運勢は「大凶」です</p>
<?php elseif ($probability == 100):?>
<p>あなたの本日の運勢は「大大凶」です</p>
<?php endif;?>

 

大大凶が出たあなた、むしろ幸運ですよ(笑)