查看: 787|回复: 0

php实现发放指定金额和数量的红包但领取总金额不得超过发放金额

[复制链接]

748

主题

39

回帖

3907

积分

管理员

总舵主

积分
3907
QQ
发表于 2024-1-12 19:50:55 | 显示全部楼层 |阅读模式
以下是一个简单的PHP函数,用于群发红包,指定红包数量和总金额,确保领取总金额不得高于指定金额。这里使用了随机生成金额的方式来实现:

  1. <?php

  2. function sendRedPackets($totalAmount, $totalPackets) {
  3.     $redPackets = [];

  4.     // 随机生成红包金额
  5.     for ($i = 1; $i <= $totalPackets; $i++) {
  6.         // 最后一个红包的时候,剩余的金额全部分给最后一个人
  7.         if ($i == $totalPackets) {
  8.             $amount = $totalAmount;
  9.         } else {
  10.             // 随机生成一个金额,确保总金额不被超过
  11.             $maxAmount = $totalAmount - array_sum($redPackets);
  12.             $amount = mt_rand(1, $maxAmount / ($totalPackets - $i + 1));
  13.         }

  14.         // 将金额放入红包数组
  15.         $redPackets[] = $amount;
  16.     }

  17.     return $redPackets;
  18. }

  19. // 指定总金额和红包数量
  20. $totalAmount = 100; // 总金额
  21. $totalPackets = 10; // 红包数量

  22. // 调用函数发送红包
  23. $redPackets = sendRedPackets($totalAmount, $totalPackets);

  24. // 输出红包金额
  25. echo "红包金额分配情况:<br>";
  26. for ($i = 0; $i < count($redPackets); $i++) {
  27.     echo "红包 {$i + 1}: {$redPackets[$i]} 元<br>";
  28. }

  29. ?>
复制代码
这个例子中,红包的金额是随机生成的,确保了总金额不被超过。你可以根据实际需求对该函数进行调整。

道不同,不相为谋!理想要有,万一实现了呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:2513533699@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|鲁ICP备19000917号|鲁公网安备37078302000320号

在本版发帖
关注公众号
QQ客服返回顶部