PHP實現(xiàn)抽獎系統(tǒng)的示例代碼
一、隨機抽獎
隨機抽獎當然是最公平的抽獎,就是當用戶抽獎時隨機返回抽獎結(jié)果
這種結(jié)果完全隨機,不受人為控制,中獎全憑借運氣
先定義獎池擁有的獎品,用戶進來抽獎后,隨機返回獎池中的獎品
<?php $prize = ['60寸大彩電', 'iphone13', '戴森吸塵器', '索尼微單', 'VR眼鏡', '謝謝參與']; // 當有用戶進來抽獎,進行隨機抽獎 shuffle($prize); // 抽獎結(jié)果 print_r($prize[0]);
二、概率抽獎
概率抽獎,其實就是給獎品設(shè)置概率,一般高價值的獎品會設(shè)置中獎的概率極低
這種抽獎也是隨機抽獎的一種,但是并沒有上面那種沒有概率控制的隨機抽獎
抽中特等獎是需要極大的運氣成分的,大多數(shù)人都會抽獎價值低的獎品
<?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; } } } // 抽獎結(jié)果 echo json_encode(compact('rand', 'result'));
三、內(nèi)定抽獎
內(nèi)定抽獎是年會常用的抽獎方式,公司為了獎勵那些本年度為公司做過重大貢獻的人
選擇在年會上將指定獎品通過抽獎的方式送給那些人
不僅能夠給那些人帶來鼓勵,更多的是為了加強公司凝聚力
這種抽獎模式,早先已經(jīng)將獎品和內(nèi)定人做了綁定
只有當指定的人進來才可以抽到獎品,其他人都是謝謝參與,但是用戶卻不知道這種是內(nèi)定的
<?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);
到此這篇關(guān)于PHP實現(xiàn)抽獎系統(tǒng)的示例代碼的文章就介紹到這了,更多相關(guān)PHP抽獎內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php中magic_quotes_gpc對unserialize的影響分析
這篇文章主要介紹了php中magic_quotes_gpc對unserialize的影響,以實例的形式分析了magic_quotes_gpc安全過濾對unserialize造成的影響以及對此的解決方法,非常具有實用價值,需要的朋友可以參考下2014-12-12微信公眾平臺開發(fā)教程⑥ 微信開發(fā)集成類的使用圖文詳解
這篇文章主要介紹了微信公眾平臺開發(fā)之微信開發(fā)集成類的使用,結(jié)合圖文形式詳細分析了微信開發(fā)集成類的原理、功能、用法及相關(guān)操作注意事項,需要的朋友可以參考下2019-04-04搭建基于Docker的PHP開發(fā)環(huán)境的詳細教程
這篇文章主要介紹了搭建基于Docker的PHP開發(fā)環(huán)境的詳細教程,Docker是當下虛擬機技術(shù)的最佳選擇,需要的朋友可以參考下2015-07-07PHP 中的面向?qū)ο缶幊蹋和ㄏ虼笮?PHP 工程的辦法
PHP 中的面向?qū)ο缶幊蹋和ㄏ虼笮?PHP 工程的辦法...2006-12-12php7 list()、session及其他模塊的修改實例分析
這篇文章主要介紹了php7 list()、session及其他模塊的修改,結(jié)合實例形式分析了php7 list()、session及其他模塊的修改相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2020-05-05php之static靜態(tài)屬性與靜態(tài)方法實例分析
這篇文章主要介紹了php之static靜態(tài)屬性與靜態(tài)方法,以實例形式較為詳細的分析了php靜態(tài)屬性與靜態(tài)方法的概念與相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法分析
這篇文章主要介紹了PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法,結(jié)合實例形式較為詳細的分析了imagegif()、imagejpeg()、imagepng()和imagewbmp()函數(shù)的功能、參數(shù)含義及使用技巧,需要的朋友可以參考下2016-11-11