💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
```php $total = 100; $min = 1;//最小金额 $num = 10; $i=1; // (第几个红包) for ($i=1;$i<$num;$i++) { $safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限 $money=mt_rand($min*100,$safe_total*100)/100; $total=$total-$money; echo '第'.$i.'个红包:'.$money.' 分 '; echo "<br>"; } echo '第'.$num.'个红包:'.$total.' 分,余额:0 分'; ``` ```php $total = 100; $min = 1;//最小金额 $num = 10; $i=1; // (第几个红包) for ($i=1;$i<$num;$i++) { $safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限 $money=mt_rand($min*100,$safe_total*100)/100; $total=$total-$money; $arr[]=["i"=>$i,"money"=>$money]; } $arr[]=["i"=>$num,"money"=>$total] ``` ```sql SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for cash_bonus -- ---------------------------- DROP TABLE IF EXISTS `cash_bonus`; CREATE TABLE `cash_bonus` ( `id` int(11) NOT NULL, `num` int(11) DEFAULT NULL COMMENT '红包数量', `total` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '红包金额', `min` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '最小红包金额', `balance` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '余额', `already_sent` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '已发送数量', `createtime` int(11) DEFAULT NULL COMMENT '创建时间', `updatetime` int(11) DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='现金红包'; -- ---------------------------- -- Table structure for cash_bonus_record -- ---------------------------- DROP TABLE IF EXISTS `cash_bonus_record`; CREATE TABLE `cash_bonus_record` ( `id` int(11) NOT NULL, `sorting` int(11) DEFAULT NULL COMMENT '第几个获取红包的', `before_balance` decimal(11,2) DEFAULT NULL COMMENT '获取前红包余额', `after_balance` decimal(11,2) DEFAULT NULL COMMENT '余额', `amount` decimal(11,2) DEFAULT NULL COMMENT '获取金额', `createtime` int(11) DEFAULT NULL COMMENT '创建时间', `updatetime` int(11) DEFAULT NULL COMMENT '修改时间', `bonus_id` int(11) DEFAULT NULL, `user_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='现金红包记录'; ``` ```php $bonus_id=1; $user_id=1; $cash_bonus=Db::table('cash_bonus') ->where("state=1")->where("id=".$bonus_id) ->find(); $total = $cash_bonus["balance"]; $num = $cash_bonus["num"]; $i = $cash_bonus["already_sent"]+1; if($i>$num){ echo("哥,你歇歇吧,来晚了不说,累啊");die; }else if($i==$num){ $money=$cash_bonus["balance"]; }else{ $safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限 $money=mt_rand($min*100,$safe_total*100)/100; } $cash_bonusupdate= [ "balance"=>$cash_bonus["balance"]-$money, "already_sent"=>$cash_bonus["already_sent"]+1 ]; if($i==$num){ $cash_bonusupdate["state"]="2"; } Db::table('cash_bonus') ->where("state=1")->where("id=".$bonus_id)->update($cash_bonusupdate); $cash_bonus_recordp["sorting"]=$i ; $cash_bonus_recordp["before_balance"]=$cash_bonus["balance"] ; $cash_bonus_recordp["after_balance"]=$cash_bonus["balance"]-$money ; $cash_bonus_recordp["amount"]= $money ; $cash_bonus_recordp["bonus_id"]= $bonus_id ; $cash_bonus_recordp["user_id"]= $user_id ; $cash_ = Db::table('cash_bonus_record') ->insert($cash_bonus_recordp); die; ```