欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP生成微信红包

程序员文章站 2022-03-28 08:07:39
...

PHP生成微信红包

1. [代码][PHP]代码

/**
 * @param $total [你要发的红包总额]
 * @param int $num [发几个]
 * @return array[生成红包金额]
 */
function getRedGift($total, $num = 10)
{
    $min = 0.01;
    $wamp = array();
    $returnData = array();
    for ($i = 1; $i < $num; ++$i) {
        $safe_total = ($total - ($num - $i) * $min) / ($num - $i); //红包金额的最大值
        if ($safe_total < 0) break;
        $money = @mt_rand($min * 100, $safe_total * 100) / 100;//随机产生一个红包金额
        $total = $total - $money;//剩余红包总额
        $wamp[$i] = round($money, 2);//保留两位有效数字
    }
    $wamp[$i] = round($total, 2);
    $returnData['MoneySum'] = $wamp;
    $returnData['newTotal'] = array_sum($wamp);
    return $returnData;
}
//测试
$data = getRedGift(100, 10);
print_r($data);
//result:
/*
Array
(
    [1] => 8.7
    [2] => 10.09
    [3] => 6.23
    [4] => 6.87
    [5] => 0.47
    [6] => 3.12
    [7] => 7.52
    [8] => 12.21
    [9] => 20.53
    [10] => 24.26
)*/
相关标签: PHP生成微信红包