PHP implementation of micro-signaling Red Envelopes Program, PHP implementation of red Envelopes _php Tutorial

Source: Internet
Author: User

PHP implementation of Red Envelopes program, PHP implementation of red envelopes


Using PHP to send red envelopes, when we enter the number of red envelopes and the total amount, PHP will be based on these two values randomly allocated each amount, to ensure that everyone can receive a red envelope, each red envelope amount is different, is to request the amount of red envelopes, all the total amount should be equal to the total amount.

View Demo Download source code

First of all to analyze the rules.

Set the total amount is 10 yuan, there are n people randomly pick:

N=1 the first one

The red envelope amount =x yuan;

N=2 a second

To ensure that the second red envelope can be issued normally, the first red envelope amount = 0.01 to 9.99 a random number.

The second red envelope =10-the first red envelope amount;

N=3 a third

A random number between red envelopes 1=0.01 to 9.99

A random number of red envelopes 2=0.01 to (10-red envelope 1-0.01)

Red Envelopes 3=10-Red Envelopes 1-Red Envelopes 2

......

So we get a rule, in allocating the current red envelope amount, the minimum amount required to reserve the remaining red and white, and then in 0.01 to the total amount-reserve amount of random number, the resulting random number is the current red envelope allocation amount.

In practice, the program will first assign a good amount of red envelopes, that is, when the red envelopes, the number of red envelopes and the amount of each red envelope is allocated well, then users to rob red envelopes, we randomly give users back a red envelope can.

Red Envelope Distribution Code:

$total =20;//Red Envelope Total amount $num =10;//divided into 10 red envelopes, support 10 people randomly receive $min =0.01;//each person can receive at least 0.01 yuan for ($i =1; $i < $num; $i + +) {  $safe _ Total= ($total-($num-$i) * $min)/($num-$i);//random Security cap  $money =mt_rand ($min *100, $safe _total*100)/100;  $total = $total-$money;  

Running the above code will output the following results:

The 1th red envelope, the amount of 2.08 yuan, the balance of 17.92 yuan

The 2nd red envelope, the amount of 1.81 yuan, the balance of 16.11 yuan

The 3rd red envelope, the amount of 0.15 yuan, the balance of 15.96 yuan

The 4th red envelope, the amount of 1.61 yuan, the balance of 14.35 yuan

The 5th Red envelope, the amount of 1.11 yuan, the balance of 13.24 yuan

The 6th red envelope, the amount of 1.51 yuan, the balance of 11.73 yuan

The 7th Red envelope, the amount of 1.21 yuan, the balance of 10.52 yuan

The 8th red envelope, the amount of 2.58 yuan, the balance of 7.94 yuan

The 9th red envelope, the amount of 5.4 yuan, the balance of 2.54 yuan

The 10th red envelope, the amount of 2.54 yuan, the balance of 0 yuan

The above is the use of PHP implementation of the Red envelope program, I hope to have some help, there is a need for source of friends, you can download directly.

http://www.bkjia.com/PHPjc/1049129.html www.bkjia.com true http://www.bkjia.com/PHPjc/1049129.html techarticle PHP Implementation of red Envelopes program, PHP implementation of red envelopes using PHP to send red envelopes, when we enter the number of red envelopes and the total amount, PHP will be based on these two values randomly allocated each amount, to ensure that each ...

  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.