欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2022年06月14日 16:24:23   作者:程序員亮仔  
這篇文章主要為大家介紹了如何利用PHP實現(xiàn)三種不同的抽獎算法:隨機抽獎、概率抽獎和內(nèi)定抽獎,文中的示例代碼講解詳細,感興趣的可以了解一下

一、隨機抽獎

隨機抽獎當然是最公平的抽獎,就是當用戶抽獎時隨機返回抽獎結(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)文章

最新評論