首页 > 学习笔记 > 按指定概率随机抽取

按指定概率随机抽取

$ar=array(‘a’=>30,’b'=>30,’c'=>10,’d'=>20,’e'=>10);
function myrandom($ar)
{
$ar_temp=array();
$temp=0;
foreach ($ar as $k => $v)
{
$ar_temp[$k]=array(‘min’=>$temp,’max’=>$temp+$v);
$temp+=$v;
}
$rand=rand(0,100);
$key=null;
foreach ($ar_temp as $k => $v)
{
if($rand>$v[min]&&$rand<=$v[max])
{
return $ar[$k];
break;
}
}

}

echo myrandom($ar);

  1. Hinker
    2009年8月20日15:12 | #1

    为什么不使用代码高亮?

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
click to change 看不清?点击换一张!