php method to implement lottery: 1. Create a php sample file; 2. Define the prizes owned by the prize pool; 3. Conduct random lottery through the "shuffle($prize);" method; 4. Use "print_r( $prize[0]);" Just print the lottery results.
The operating environment of this tutorial: windows10 system, PHP version 8.1, DELL G3 computer
How to implement lottery with php?
Sample code for PHP to implement lottery system
1. Random lottery
Random lottery is of course the fairest lottery, that is, when the user The lottery results are randomly returned during the lottery.
This result is completely random and is not under human control. Winning depends entirely on luck.
Define the prizes in the prize pool first. After the user enters the lottery, the prizes in the prize pool will be returned randomly. Prizes
<?php $prize = ['60寸大彩电', 'iphone13', '戴森吸尘器', '索尼微单', 'VR眼镜', '谢谢参与']; // 当有用户进来抽奖,进行随机抽奖 shuffle($prize); // 抽奖结果 print_r($prize[0]);
2. Probability lottery
Probability lottery is actually to set the probability for the prize. Generally, high-value prizes will have a very low probability of winning
This kind of lottery is also A type of random lottery, but there is no random lottery without probability control like above
Winning the grand prize requires a lot of luck, and most people will draw prizes with low value
<?php $prize = [ ['name' => '60寸大彩电', 'chance' => 100], ['name' => 'iphone13', 'chance' => 900], ['name' => '戴森吸尘器', 'chance' => 1000], ['name' => '索尼微单', 'chance' => 2000], ['name' => 'VR眼镜', 'chance' => 3000], ['name' => '谢谢参与', 'chance' => 3000] ]; // 概率重组 $chance = 0; foreach ($prize as &$item) { $chance += $item['chance']; $item['chance'] = $chance; } // 随机抽奖 $rand = mt_rand(1, 10000); $result = []; foreach ($prize as $_k => $_v) { if ($_k == 0) { if ($rand > 0 && $rand <= $_v['chance']) { $result = $_v; break; } } else { if ($rand > $prize[$_k - 1]['chance'] && $rand <= $_v['chance']) { $result = $_v; break; } } } // 抽奖结果 echo json_encode(compact('rand', 'result'));
3. Definite lottery draw
The default lottery draw is a commonly used lottery method at annual meetings. In order to reward those who have made significant contributions to the company this year, the company chooses to give designated prizes at the annual meeting. Giving them to those people through lottery
can not only bring encouragement to those people, but also to strengthen the company's cohesion
In this lottery model, the prizes have been previously assigned to the designated persons Binding
Only when the designated person comes in can the prize be drawn. Others thank you for participating, but the user does not know that this is the default choice
<?php $prize = [ ['name' => '60寸大彩电', 'winners' => ['张三']], ['name' => 'iphone13', 'winners' => ['李四', '王五']], ['name' => '戴森吸尘器', 'winners' => ['亮仔']], ['name' => '索尼微单', 'winners' => ['李六']], ['name' => 'VR眼镜', 'winners' => ['小明']] ]; // 开始抽奖,这里假如亮仔过来抽 // 这里的用户也可以是用户唯一标识 $user = '亮仔'; $result = '谢谢参与'; foreach ($prize as $item) { if (in_array($user, $item['winners'])) { $result = $item['name']; break; } } print_r('获得的奖品:' . $result);
Recommended learning:《
PHP video tutorialThe above is the detailed content of How to implement lottery in php. For more information, please follow other related articles on the PHP Chinese website!