我正在制作一个购物网站,为每个人创建一个独特的折扣代码。
我想为此代码生成百分之一的折扣,例如:
x3M2qE => 10%
gh2WW4 => 20%
...
这些代码的创建方式应该是生成 90% 的概率远小于生成 10% 的概率。
确定最好的和最优化的算法并帮助我正确地完成它,
谢谢。
最佳代码:
$chances = [
'50%' => 60,
'10%' => 30,
'5%' => 5,
'4%' => 2,
'3%' => 1,
'2%' => 1,
'1%' => 1,
];
$max_chance = 0;
foreach($chances as $key => $val) {
$max_chance += $val;
}
$rand = mt_rand(1, $max_chance);
$cur = 0;
foreach($chances as $key => $val) {
$cur += $val;
if($rand <= $cur)
echo $key;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句