Codeworks Notes

 2021-05-21

PHP
バックエンド
プログラミング

指定確率でtrueを出す

5%の確率でボロンとかできますね

関数

// 指定した確率でtrueを出す

function trueRate($prob = 100) {        // 初期値100%
  if ($prob < 1 ) { $prob = 0; }        // 引数が1未満なら0%
  elseif ($prob > 100) { $prob = 100; } // 引数が100以上なら100%

  $rand = mt_rand(1, 100);              // 1〜100の範囲でランダムな値を取得

  if ($rand <= $prob) { return true; }  // 取得した値が引数より小さければtrue
  else { return false; }                // そうでなければfalse

使うときはこんなかんじで。
true か false しか吐かないわけなんで if の中で使います。

// 5%の確率で
if (trueRate(5)){
  echo "ボロン";
}