>  기사  >  백엔드 개발  >  PHP와 Ajax를 결합하여 휴대폰으로 빨간 봉투를 보내는 방법

PHP와 Ajax를 결합하여 휴대폰으로 빨간 봉투를 보내는 방법

墨辰丷
墨辰丷원래의
2018-06-01 09:42:041183검색

빨간 봉투 보내기 기능, 빨간 봉투의 수와 총액을 입력하면 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 = &#39;<p>第<span>&#39; array[&#39;i&#39;] &#39;</span>个红包,
  金额<span>&#39; array[&#39;money&#39;] &#39;</span>元,余额<span>&#39; 
  array[&#39;total&#39;] &#39;元</span></p>&#39;; 
  }); 
  $("#result").html(str); 
 } else { 
  $("#result").html(&#39;数据出错!&#39;); 
 } 
 } 
 }); 
 }); 
});


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 &#39;第&#39;.$i.&#39;个红包:&#39;.$money.&#39; 元,余额:&#39;.$total.&#39; 元 &#39;; 
} 
echo &#39;第&#39;.$num.&#39;个红包:&#39;.$total.&#39; 元,余额:0 元&#39;;


효과는 그림과 같습니다:

요약: 그게 다입니다 이 글의 전체 내용이 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

php 중국어와 영어가 혼합된 문자열을 가로채는 방법

PHP5의 유효성 검사기 사용에 대한 구체적인 설명

JSON PHP에서 Json 문자열을 개체/배열로 역직렬화하는 방법

위 내용은 PHP와 Ajax를 결합하여 휴대폰으로 빨간 봉투를 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.