溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何實(shí)現(xiàn)抽獎(jiǎng)

發(fā)布時(shí)間:2022-12-27 13:42:32 來源:億速云 閱讀:107 作者:iii 欄目:編程語言

這篇文章主要介紹“php如何實(shí)現(xiàn)抽獎(jiǎng)”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“php如何實(shí)現(xiàn)抽獎(jiǎng)”文章能幫助大家解決問題。

php實(shí)現(xiàn)抽獎(jiǎng)的方法:1、創(chuàng)建一個(gè)php示例文件;2、定義獎(jiǎng)池?fù)碛械莫?jiǎng)品;3、通過“shuffle($prize);”方法進(jìn)行隨機(jī)抽獎(jiǎng);4、使用“print_r($prize[0]);”打印抽獎(jiǎng)結(jié)果即可。

PHP實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)的示例代碼

一、隨機(jī)抽獎(jiǎng)

隨機(jī)抽獎(jiǎng)當(dāng)然是最公平的抽獎(jiǎng),就是當(dāng)用戶抽獎(jiǎng)時(shí)隨機(jī)返回抽獎(jiǎng)結(jié)果

這種結(jié)果完全隨機(jī),不受人為控制,中獎(jiǎng)全憑借運(yùn)氣

先定義獎(jiǎng)池?fù)碛械莫?jiǎng)品,用戶進(jìn)來抽獎(jiǎng)后,隨機(jī)返回獎(jiǎng)池中的獎(jiǎng)品

<?php
$prize = ['60寸大彩電', 'iphone13', '戴森吸塵器', '索尼微單', 'VR眼鏡', '謝謝參與'];
 
// 當(dāng)有用戶進(jìn)來抽獎(jiǎng),進(jìn)行隨機(jī)抽獎(jiǎng)
shuffle($prize);
 
// 抽獎(jiǎng)結(jié)果
print_r($prize[0]);

二、概率抽獎(jiǎng)

概率抽獎(jiǎng),其實(shí)就是給獎(jiǎng)品設(shè)置概率,一般高價(jià)值的獎(jiǎng)品會(huì)設(shè)置中獎(jiǎng)的概率極低

這種抽獎(jiǎng)也是隨機(jī)抽獎(jiǎng)的一種,但是并沒有上面那種沒有概率控制的隨機(jī)抽獎(jiǎng)

抽中特等獎(jiǎng)是需要極大的運(yùn)氣成分的,大多數(shù)人都會(huì)抽獎(jiǎng)價(jià)值低的獎(jiǎng)品

<?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;
}
 
// 隨機(jī)抽獎(jiǎng)
$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ǎng)結(jié)果
echo json_encode(compact('rand', 'result'));

三、內(nèi)定抽獎(jiǎng)

內(nèi)定抽獎(jiǎng)是年會(huì)常用的抽獎(jiǎng)方式,公司為了獎(jiǎng)勵(lì)那些本年度為公司做過重大貢獻(xiàn)的人

選擇在年會(huì)上將指定獎(jiǎng)品通過抽獎(jiǎng)的方式送給那些人

不僅能夠給那些人帶來鼓勵(lì),更多的是為了加強(qiáng)公司凝聚力

這種抽獎(jiǎng)模式,早先已經(jīng)將獎(jiǎng)品和內(nèi)定人做了綁定

只有當(dāng)指定的人進(jìn)來才可以抽到獎(jiǎng)品,其他人都是謝謝參與,但是用戶卻不知道這種是內(nèi)定的

<?php
$prize = [
    ['name' => '60寸大彩電', 'winners' => ['張三']],
    ['name' => 'iphone13', 'winners' => ['李四', '王五']],
    ['name' => '戴森吸塵器', 'winners' => ['亮仔']],
    ['name' => '索尼微單', 'winners' => ['李六']],
    ['name' => 'VR眼鏡', 'winners' => ['小明']]
];
 
// 開始抽獎(jiǎng),這里假如亮仔過來抽
// 這里的用戶也可以是用戶唯一標(biāo)識(shí)
$user = '亮仔';
 
$result = '謝謝參與';
foreach ($prize as $item) {
    if (in_array($user, $item['winners'])) {
        $result = $item['name'];
        break;
    }
}
 
print_r('獲得的獎(jiǎng)品:' . $result);

關(guān)于“php如何實(shí)現(xiàn)抽獎(jiǎng)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI