前言:

使用PHP发红包,当咱们输入红包数量和总金额后,PHP会根据这两个值进行随机分配每一个金额,保证每一个人都能领取到一个红包,每一个红包金额不等,就是要求红包金额要有差别,全部红包金额总额应该等于总金额。html

规律分析:安全

设定总金额为10元,有N我的随机领取,最小限额0.01元:函数

N=1 第一个学习

则红包金额=X元;spa

N=2 第二个code

为保证第二个红包能够正常发出,第一个红包金额=0.01至9.99之间的某个随机数。htm

第二个红包=10-第一个红包金额;文档

N=3 第三个get

红包1=0.01至9.99之间的某个随机数;it

红包2=0.01至(10-红包1-0.01)的某个随机数;

红包3=10-红包1-红包2;

……

因而咱们获得一个规律,在分配当前红包金额时,先预留剩余空白所需最少金额,而后在0.01至总金额-预留金额间取随机数,获得的随机数就是当前红包分配的金额。

实际应用中,程序先将红包金额分配好,即发红包时,红包个数以及每一个红包的金额都分配好了,那么用户来抢红包时,咱们随机给用户返回一个红包便可。

代码演示:

// 定义初始变量

$total = 50; //红包总金额

$num = 10; //分红10个红包,支持10人随机领取

$min = 0.01; //每一个人最少能收到0.01元

for ($i=1; $i

{

$safe_total = ($total-($num-$i)*$min)/($num-$i); //随机安全上限

$money = mt_rand($min*100,$safe_total*100)/100;

$total = $total-$money;

echo '第'.$i.'个红包:'.$money.' 元,余额:'.$total.' 元 '.'
';

}

echo '第'.$num.'个红包:'.$total.' 元,余额:0 元';

运行结果:

第1个红包:0.99 元,余额:49.01 元

第2个红包:5.39 元,余额:43.62 元

第3个红包:4.17 元,余额:39.45 元

第4个红包:5.02 元,余额:34.43 元

第5个红包:3.92 元,余额:30.51 元

第6个红包:6.37 元,余额:24.14 元

第7个红包:2.78 元,余额:21.36 元

第8个红包:5.65 元,余额:15.71 元

第9个红包:11.11 元,余额:4.6 元

第10个红包:4.6 元,余额:0 元

相关函数介绍:

mt_srand(); 播下一个更好的随机数发生器种子

mt_rand();     生成一个更好的随机数

不少老的 libc 的随机数发生器具备一些不肯定和未知的特性并且很慢。PHP 的  rand() 函数默认使用 libc 随机数发生器。mt_rand()  函数是非正式用来替换它的。该函数用了Mersenne Twister中已知的特性做为随机数发生器,它能够产生随机数值的平均速度比libc 提供的 rand() 快四倍。

总结:

在生活中许多事情都是一种态度问题,态度决定一切,学习须要沉下心来,认真对待,我历来不相信一个能力超强的人不用学习,因此说当你能力不足时就沉下心来学习吧。若是此文档对你有所帮助,请分享给你身边的朋友。我是曾虎,一个有文艺范的理工男。

php写个发红包_php实现发红包程序相关推荐

  1. Java实现微信、QQ等群主发红包实例(普通红包)

    许久没有写blog 手有点生,但是准备开启常更模式了! 最近重拾Java知识,挑一些有趣的案例分享给大家.(拼手气红包案例) 分析: 首先,群主和成员都是微信.QQ等应用程序的用户,他们都可以归为用户 ...

  2. 水果店如何写文案,做水果店发的文案

    1.卖货做活动可以用朋友圈去宣传 朋友圈是发布广告的最有效的渠道,但是在此之外,也可以发一些个人的内容:自拍.生活趣闻.水果知识等等,甚至多一些个人标识的东西,让大家对你加深印象.开水果店主入门学习交 ...

  3. 抽奖助手——端午老板加班让我写个抽奖助手给员工发福利

    端午老板让我加班写个抽奖助手给员工发福利 需要源码的私聊我哦 目录 一.整体框架 二.按键联动 三.图片联动 一.整体框架 我们开始时,小图片和大图是一样的图片,按键点击后,小图开始滚动,按键的文字也 ...

  4. 2022年京东618万券齐发活动入口, 京东618红包领取地址

    2022年京东618万券齐发活动入口, 京东618红包领取地址 618期间会有许多优惠券,比如家电优惠券.Iphone券等等,今年的京东618购物节活动正式来袭,并且在最近上线了618万券齐发的活动, ...

  5. 微信怎么发超过200的大额红包?

    大家平时都用微信发过红包, 但是微信的红包限额只有200, 所以有时候我们想发大一点的红包但却只有限额200怎么办 ? 这不我发现了一个特别好用的微信小程序分享给大家,  借助第三方工具, 微信搜索& ...

  6. python模拟微信发红包算法_微信红包的随机算法是怎样实现的?

    有人问过微信的人,大致是这样: 先上代码: public static double getRandomMoney(RedPackage _redPackage) { // remainSize 剩余 ...

  7. php 公众号发红包,真实案例教你公众号发低于1元的红包

    原标题:真实案例教你公众号发低于1元的红包 红包被冠称为"营销核武器",15年央视春晚腾讯微信摇一摇红包被马云戏称为偷袭珍珠港,通过微信红包,微信支付在短时间成功地实现了新增绑定2 ...

  8. 【QQ红包】手机发抢不到的口令红包

    这方法95%的人都抢不了 在QQ输入框输入一个表情,例如:阴险那个表情 将表情剪切到口令红包的口令里 这时候口令里的那个表情表情变成了符号 将符号删去一格,然后全选.复制 然后返回到QQ输入框粘贴 然 ...

  9. 移动设备wap手机网页html5通过特殊链接:打电话,发短信,发邮件详细教程

    移动设备wap手机网页html5通过特殊链接:打电话,发短信,发邮件详细教程 原文地址:https://www.luoxiao123.cn/1120-2.html 最近逍遥乐在寻找手机网页调用系统短信 ...

最新文章

  1. FZU 2297 Number theory【线段树/单点更新/思维】
  2. (6)解构赋值的用途
  3. 【Git入门之一】Git是神马?
  4. AbstractQueuedSynchronizer理解之三(Semaphore)
  5. 为什么C语言函数不能返回数组,却可以返回结构体
  6. python测试题 - 字典操作
  7. java定时器检测状态_java 定时检测服务器端口状态方法(一)
  8. 每天执行一次批处理_关于静态批处理/动态批处理/GPU Instancing /SRP Batcher的详细剖析...
  9. 力扣-1290 二进制链表转整数
  10. android其他占用存储,Android如何梳理内存占用情况解决OOM问题
  11. 转成静态页面,由于ie网址或路径原因,Atlas失效。
  12. 自己的电脑netassist软件(其他上位机软件同理)建立的虚拟TCP服务器其他客户端连不上??但客户端能连接WiFi。
  13. 论文阅读:Vision GNN: An Image is Worth Graph of Nodes
  14. 酷q插件开发Java_酷Q做一个随机二次元图片插件
  15. 想知道PDF转Word软件免费有哪些吗?试试这3款工具
  16. 前端开发:Mac电脑修改hosts文件的方法
  17. 关于MP4V2 封装h265 接口调用问题
  18. Jmeter--【作为测试你必须要知道的】基础名词与环境搭建
  19. 第一次开发EOS区块链的经验
  20. 智能井盖被纳入《城市综合管廊运营服务规范》国标,喜大普奔

热门文章

  1. 复习题解集——老鼠与猫的交易
  2. Android 传感器概述(一)
  3. php笔记本配置要求,笔记本推荐:CAD、PS等、大型游戏等高配置需求的人
  4. python操作Elasticsearch数据库
  5. pdf文件如何设置密码保护
  6. css文本溢出隐藏显示省略号
  7. Tx2 NX编译Halide13.0.1
  8. java wsdl asmx 替换_WebService asmx生成的wsdl 修改 location
  9. 荣耀Magic人工智能手机发布,买不到不如选择荣耀8
  10. 数组为空数组,判断数组长度不等于0