ホームページ > バックエンド開発 > PHPチュートリアル > phpとajaxを組み合わせて携帯電話に赤い封筒を送信する方法

phpとajaxを組み合わせて携帯電話に赤い封筒を送信する方法

墨辰丷
リリース: 2023-03-28 20:24:01
オリジナル
1202 人が閲覧しました

赤い封筒を送信する機能。赤い封筒の数と合計金額を入力すると、PHP はこれら 2 つの値に基づいて各金額をランダムに割り当て、全員が赤い封筒を受け取ることができるようにします。 、これは必要な赤い封筒の金額です。差額を得るには、すべての赤い封筒の合計金額が合計金額と等しくなる必要があります。

PHP Ajax には、それを使用する多くの関数があります。今日、編集者は PHP Ajax を使用して、赤い封筒を送信するための PHP Ajax 携帯電話プログラムの例を見てみましょう。

PHP で赤い封筒を送る基本的なプロセス: 赤い封筒の数と合計金額を入力すると、PHP はこれら 2 つの値に基づいて各金額をランダムに割り当て、全員が赤い封筒を確実に受け取れるようにします。赤い封筒は異なります。つまり、各人が受け取る赤い封筒の量は異なるはずであり、すべての赤い封筒の合計金額は合計金額に等しくなります。

PHP が赤い封筒を送る原理:

合計金額を 10 元に設定すると、N 人がランダムに受け取ります:
N=1 最初の
赤い封筒の金額 = X 元;
N=2 2 番目
2 番目の赤い封筒が正常に発行されることを保証するには、最初の赤い封筒の金額 = 0.01 から 9.99 までの乱数
2 番目の赤い封筒 = 10 - 最初の赤い封筒の金額
N = 3 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

中国語と英語の混合文字列をインターセプトする方法

ThinkPHP5 固有のバリデーターの使用方法

PHP で、Json 文字列をオブジェクト/配列に逆シリアル化する方法


以上がphpとajaxを組み合わせて携帯電話に赤い封筒を送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート