빨간 봉투 보내기 기능, 빨간 봉투의 수와 총액을 입력하면 PHP는 이 두 값을 기준으로 각 금액을 무작위로 할당하여 모든 사람이 빨간 봉투를 받을 수 있도록 합니다. 필요한 빨간 봉투 금액입니다. 차이가 있으려면 모든 빨간 봉투의 총액이 총액과 같아야 합니다.
PHP Ajax에는 이를 활용한 다양한 기능이 있습니다. 오늘은 에디터에서 PHP Ajax를 이용하여 빨간 봉투 잡기 기능을 구현해 봤습니다. 아래와 같이 빨간 봉투를 보내는 PHP Ajax 휴대폰 프로그램의 예를 살펴보겠습니다.
PHP로 빨간 봉투를 보내는 기본 과정: 빨간 봉투의 수와 총액을 입력한 후, PHP는 모든 사람이 빨간 봉투를 받을 수 있도록 이 두 값을 기준으로 각 금액을 무작위로 할당합니다. 빨간 봉투는 다양합니다. 즉, 각 사람이 받은 빨간 봉투의 양이 달라야 하며, 모든 빨간 봉투의 총액은 총 금액과 같습니다.
PHP가 빨간 봉투를 보내는 원리:
총액을 10위안으로 설정하면 N명이 무작위로 받습니다.
N=1 첫 번째
빨간 봉투 금액 = X위안
N=2 두 번째
는 두 번째 빨간 봉투가 정상적으로 발행될 수 있도록 첫 번째 빨간 봉투의 금액 = 0.01에서 9.99 사이의 임의의 숫자입니다.
두 번째 빨간 봉투 = 10 - 첫 번째 빨간 봉투의 금액
N = 3; 세 번째
빨간 봉투 1 = 0.01 ~ 9.99 사이의 임의의 숫자
빨간 패킷 2=0.01 ~ (10-빨간 패킷 1-0.01) 사이의 임의의 숫자
빨간 패킷 3=10-빨간 패킷 1-빨간 패킷 2
.. .
그래서 우리는 패턴을 얻습니다 . 현재 빨간 봉투 금액을 할당할 때 나머지 빨간색과 흰색에 필요한 최소 금액을 먼저 예약한 다음 0.01과 총액 - 예약 금액 사이에서 임의의 숫자를 취하고, 랜덤은 얻은 숫자는 현재 빨간 봉투 배포 금액입니다.
실제 응용 프로그램에서는 빨간 봉투의 양을 먼저 할당합니다. 즉, 빨간 봉투를 보낼 때 빨간 봉투의 수와 각 빨간 봉투의 양이 할당됩니다. 우리는 무작위로 빨간 봉투를 사용자에게 돌려줄 수 있습니다.
jquery 코드:
$(function() { $("button").click(function() { $.ajax({ type: 'POST', url: 'bao.php', dataType: 'json', beforeSend: function() { $("#result").html('正在分配红包'); }, success: function(json) { if (json.msg == 1) { var str = ''; var res = json.res; $.each(res, function(index, array) { str = '<p>第<span>' array['i'] '</span>个红包, 金额<span>' array['money'] '</span>元,余额<span>' array['total'] '元</span></p>'; }); $("#result").html(str); } else { $("#result").html('数据出错!'); } } }); }); });
PHP 코드: bao.php
$total=20;//红包总金额 $num=10;// 分成10个红包,支持10人随机领取 $min=0.01;//每个人最少能收到0.01元 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.' 元,余额:'.$total.' 元 '; } echo '第'.$num.'个红包:'.$total.' 元,余额:0 元';
효과는 그림과 같습니다:
요약: 그게 다입니다 이 글의 전체 내용이 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
JSON PHP에서 Json 문자열을 개체/배열로 역직렬화하는 방법
위 내용은 PHP와 Ajax를 결합하여 휴대폰으로 빨간 봉투를 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!