//函数的参数:是一维数组; //键是物品的名称,值是被抽到的概率。 //array('rose' => 10,'tree'=>20); // 概率计算 function get_rand($proArr){ $result = ''; // 概率数组的总概率精度 $proSum = array_sum($proArr); // 概率数组循环 foreach ($proArr as $key => $proCur){ $randNum = mt_rand(1, $proSum); if ($randNum <= $proCur){ $result = $key; break; }else{ $proSum -= $proCur; } } unset ($proArr); return $result; }
浙公网安备 33010602011771号