PHP 生成带有百分比折扣的折扣代码

高频头

我正在制作一个购物网站,为每个人创建一个独特的折扣代码。
我想为此代码生成百分之一的折扣,例如:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章