首页 > 代码库 > 微信红包算法

微信红包算法

$number = 10; // 红包数
$total = 100; // 总金额
    
$wallet = array(); // 红包列表
    
// 算法
for($i = $number; $i > 0; $i--){
    $x = $i == 1 ? $total : mt_rand(1, $total/$i);
    $total -= $x;
    $wallet[] = $x;
}
shuffle($wallet);
    
// 结果
echo ‘total:‘, array_sum($wallet), ‘.‘;
echo ‘wallet:‘, join(‘,‘, $wallet);

微信红包算法