权重随机-PHP

function roll($weight = array()) {
$roll = rand ( 1, array_sum ( $weight ) );
$_tmpW = 0;
$rollnum = 0;
foreach ( $weight as $k => $v ) {
$min = $_tmpW;
$_tmpW += $v;
$max = $_tmpW;
var_dump($min,$roll,$max);
if ($roll > $min && $roll <= $max) {
$rollnum = $k;
break;
}
}
return $rollnum;
}
$row=roll(array('a'=>10,'b'=>10));
echo $row;

posted on 2021-07-07 21:44  木林coder  阅读(55)  评论(0编辑  收藏  举报

导航