您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何實現抽獎”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php如何實現抽獎”文章能幫助大家解決問題。
php實現抽獎的方法:1、創建一個php示例文件;2、定義獎池擁有的獎品;3、通過“shuffle($prize);”方法進行隨機抽獎;4、使用“print_r($prize[0]);”打印抽獎結果即可。
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如何實現抽獎”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。