Php prize winning probability algorithm and big turntable lottery algorithm. The php winning probability algorithm can be used to draw lottery algorithms such as scratch cards and big turntable. The usage is very simple. the code has a detailed description. you can understand $ proCur at a glance) {$ randNummt_rand (1, $ proSum); I php winning probability algorithm, which can be used for scratch cards, big turntable and other lottery algorithms. The usage is very simple. the code has a detailed description, which can be understood at a glance.
$ ProCur ){
$ RandNum = mt_rand (1, $ proSum );
If ($ randNum <= $ proCur ){
$ Result = $ key;
Break;
} Else {
$ ProSum-= $ proCur;
}
}
Unset ($ proArr );
Return $ result;
}
/*
* Awards array
* It is a two-dimensional array that records all the awards for this lottery,
* Id indicates the winning level, prize indicates the prize, and v indicates the winning probability.
* Note that the value of v must be an integer. you can set the value of v for the corresponding award to 0, which means that the percentage of the award is 0,
* The sum (base number) of values in the array. the larger the base number, the more accurate the probability is.
* In this example, if the sum of v is 100, the probability of winning a tablet is 1%,
* If the sum of v is 10000, the winning probability is one in ten.
*
*/
$ Prize_arr = array (
'0' => array ('id' => 1, 'prize' => 'tablet PC', 'V' => 1 ),
'1' => array ('id' => 2, 'prize' => 'digital camera ', 'V' => 5 ),
'2' => array ('id' => 3, 'prize' => 'Speaker device', 'V' => 10 ),
'3' => array ('id' => 4, 'prize' => '4G disks', 'V' => 12 ),
'4' => array ('id' => 5, 'prize' => '10q coin ', 'V' => 22 ),
'5' => array ('id' => 6, 'prize' => 'Next time you may be able to get in, ', 'V' => 50 ),
);
/*
* Each request to the front-end page sets an array of PHP loop awards,
* Use the probability calculation function get_rand to obtain the prize id.
* Save the prize to the array $ res ['yes,
* The remaining unwon information is saved in $ res ['no,
* Output the json data count to the front-end page.
*/
Foreach ($ prize_arr as $ key => $ val ){
$ Arr [$ val ['id'] = $ val ['V'];
}
$ Rid = get_rand ($ arr); // Obtain the award id based on the probability.
$ Res ['yes'] = $ prize_arr [$ rid-1] ['prize']; // Medium Award
Unset ($ prize_arr [$ rid-1]); // removes the Medium Award from the array, leaving the remaining ones.
Shuffle ($ prize_arr); // disrupt the array order
For ($ I = 0; $ I
Bytes. The usage is very simple. the code has a detailed description. you can understand $ proCur) {$ randNum = mt_rand (1, $ proSum); I...