php實現抽獎的方法:1、建立一個php範例檔案;2、定義獎金池擁有的獎品;3、透過「shuffle($prize);」方法進行隨機抽獎;4、使用「print_r( $prize[0]);」列印抽獎結果即可。
本教學操作環境:windows10系統、PHP8.1版、DELL G3電腦
php怎麼實現抽獎?
PHP實現抽獎系統的範例程式碼
一、隨機抽獎
#隨機抽獎當然是最公平的抽獎,就是當用戶抽獎時隨機返回抽獎結果
這種結果完全隨機,不受人為控制,中獎全憑藉運氣
先定義獎池擁有的獎品,用戶進來抽獎後,隨機返回獎池中的獎品
<?php $prize = ['60寸大彩电', 'iphone13', '戴森吸尘器', '索尼微单', 'VR眼镜', '谢谢参与']; // 当有用户进来抽奖,进行随机抽奖 shuffle($prize); // 抽奖结果 print_r($prize[0]);
二、機率抽獎
機率抽獎,其實就是給獎品設定機率,一般高價值的獎品會設定中獎的機率極低
這種抽獎也是隨機抽獎的一種,但是並沒有上面那種沒有概率控制的隨機抽獎
抽中特等獎是需要極大的運氣成分的,大多數人都會抽獎價值低的獎品
<?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'));
三、內定抽獎
內定抽獎是年會常用的抽獎方式,公司為了獎勵那些本年度為公司做過重大貢獻的人
選擇在年會上將指定獎品透過抽獎的方式送給那些人
不僅能夠給那些人帶來鼓勵,更多的是為了加強公司凝聚力
這種抽獎模式,早先已經將獎品和內定人做了綁定
只有當指定的人進來才可以抽到獎品,其他人都是謝謝參與,但是用戶卻不知道這種是內定的
<?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);
推薦學習:《PHP影片教學》
以上是php怎麼實現抽獎的詳細內容。更多資訊請關注PHP中文網其他相關文章!