国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 后端開(kāi)發(fā) php教程 中獎(jiǎng)概率算法(php 可用于刮刮卡,大轉(zhuǎn)盤(pán)等抽獎(jiǎng)算法)

中獎(jiǎng)概率算法(php 可用于刮刮卡,大轉(zhuǎn)盤(pán)等抽獎(jiǎng)算法)

Jul 29, 2016 am 09:10 AM
arr array gt

php中獎(jiǎng)概率算法,可用于刮刮卡,大轉(zhuǎn)盤(pán)等抽獎(jiǎng)算法。用法很簡(jiǎn)單,代碼里有詳細(xì)注釋說(shuō)明,一看就懂

<span>php
</span><span>/*</span><span> * 經(jīng)典的概率算法,
 * $proArr是一個(gè)預(yù)先設(shè)置的數(shù)組,
 * 假設(shè)數(shù)組為:array(100,200,300,400),
 * 開(kāi)始是從1,1000 這個(gè)概率范圍內(nèi)篩選第一個(gè)數(shù)是否在他的出現(xiàn)概率范圍之內(nèi), 
 * 如果不在,則將概率空間,也就是k的值減去剛剛的那個(gè)數(shù)字的概率空間,
 * 在本例當(dāng)中就是減去100,也就是說(shuō)第二個(gè)數(shù)是在1,900這個(gè)范圍內(nèi)篩選的。
 * 這樣 篩選到最終,總會(huì)有一個(gè)數(shù)滿(mǎn)足要求。
 * 就相當(dāng)于去一個(gè)箱子里摸東西,
 * 第一個(gè)不是,第二個(gè)不是,第三個(gè)還不是,那最后一個(gè)一定是。
 * 這個(gè)算法簡(jiǎn)單,而且效率非常 高,
 * 關(guān)鍵是這個(gè)算法已在我們以前的項(xiàng)目中有應(yīng)用,尤其是大數(shù)據(jù)量的項(xiàng)目中效率非常棒。
 </span><span>*/</span><span>function</span> get_rand(<span>$proArr</span><span>) { 
    </span><span>$result</span> = ''<span>;  
    </span><span>//</span><span>概率數(shù)組的總概率精度 </span><span>$proSum</span> = <span>array_sum</span>(<span>$proArr</span><span>);  
    </span><span>//</span><span>概率數(shù)組循環(huán) </span><span>foreach</span> (<span>$proArr</span><span>as</span><span>$key</span> => <span>$proCur</span><span>) { 
        </span><span>$randNum</span> = <span>mt_rand</span>(1, <span>$proSum</span><span>); 
        </span><span>if</span> (<span>$randNum</span> $proCur<span>) { 
            </span><span>$result</span> = <span>$key</span><span>; 
            </span><span>break</span><span>; 
        } </span><span>else</span><span> { 
            </span><span>$proSum</span> -= <span>$proCur</span><span>; 
        }         
    } 
    </span><span>unset</span> (<span>$proArr</span><span>);  
    </span><span>return</span><span>$result</span><span>; 
} 


</span><span>/*</span><span> * 獎(jiǎng)項(xiàng)數(shù)組
 * 是一個(gè)二維數(shù)組,記錄了所有本次抽獎(jiǎng)的獎(jiǎng)項(xiàng)信息,
 * 其中id表示中獎(jiǎng)等級(jí),prize表示獎(jiǎng)品,v表示中獎(jiǎng)概率。
 * 注意其中的v必須為整數(shù),你可以將對(duì)應(yīng)的 獎(jiǎng)項(xiàng)的v設(shè)置成0,即意味著該獎(jiǎng)項(xiàng)抽中的幾率是0,
 * 數(shù)組中v的總和(基數(shù)),基數(shù)越大越能體現(xiàn)概率的準(zhǔn)確性。
 * 本例中v的總和為100,那么平板電腦對(duì)應(yīng)的 中獎(jiǎng)概率就是1%,
 * 如果v的總和是10000,那中獎(jiǎng)概率就是萬(wàn)分之一了。
 * 
 </span><span>*/</span><span>$prize_arr</span> = <span>array</span><span>( 
    </span>'0' => <span>array</span>('id'=>1,'prize'=>'平板電腦','v'=>1), 
    '1' => <span>array</span>('id'=>2,'prize'=>'數(shù)碼相機(jī)','v'=>5), 
    '2' => <span>array</span>('id'=>3,'prize'=>'音箱設(shè)備','v'=>10), 
    '3' => <span>array</span>('id'=>4,'prize'=>'4G優(yōu)盤(pán)','v'=>12), 
    '4' => <span>array</span>('id'=>5,'prize'=>'10Q幣','v'=>22), 
    '5' => <span>array</span>('id'=>6,'prize'=>'下次沒(méi)準(zhǔn)就能中哦','v'=>50),<span>
); 

</span><span>/*</span><span> * 每次前端頁(yè)面的請(qǐng)求,PHP循環(huán)獎(jiǎng)項(xiàng)設(shè)置數(shù)組,
 * 通過(guò)概率計(jì)算函數(shù)get_rand獲取抽中的獎(jiǎng)項(xiàng)id。
 * 將中獎(jiǎng)獎(jiǎng)品保存在數(shù)組$res['yes']中,
 * 而剩下的未中獎(jiǎng)的信息保存在$res['no']中,
 * 最后輸出json個(gè)數(shù)數(shù)據(jù)給前端頁(yè)面。
 </span><span>*/</span><span>foreach</span> (<span>$prize_arr</span><span>as</span><span>$key</span> => <span>$val</span><span>) { 
    </span><span>$arr</span>[<span>$val</span>['id']] = <span>$val</span>['v'<span>]; 
} 
</span><span>$rid</span> = get_rand(<span>$arr</span>); <span>//</span><span>根據(jù)概率獲取獎(jiǎng)項(xiàng)id </span><span>$res</span>['yes'] = <span>$prize_arr</span>[<span>$rid</span>-1]['prize']; <span>//</span><span>中獎(jiǎng)項(xiàng) </span><span>unset</span>(<span>$prize_arr</span>[<span>$rid</span>-1]); <span>//</span><span>將中獎(jiǎng)項(xiàng)從數(shù)組中剔除,剩下未中獎(jiǎng)項(xiàng) </span><span>shuffle</span>(<span>$prize_arr</span>); <span>//</span><span>打亂數(shù)組順序 </span><span>for</span>(<span>$i</span>=0;<span>$i</span>count(<span>$prize_arr</span>);<span>$i</span>++<span>){ 
    </span><span>$pr</span>[] = <span>$prize_arr</span>[<span>$i</span>]['prize'<span>]; 
} 
</span><span>$res</span>['no'] = <span>$pr</span><span>; 
</span><span>print_r</span>(<span>$res</span>); 

以上就介紹了中獎(jiǎng)概率算法(php 可用于刮刮卡,大轉(zhuǎn)盤(pán)等抽獎(jiǎng)算法),包括了方面的內(nèi)容,希望對(duì)PHP教程有興趣的朋友有所幫助。

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線(xiàn)人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話(huà)題

華為GT3 Pro和GT4的差異是什么? 華為GT3 Pro和GT4的差異是什么? Dec 29, 2023 pm 02:27 PM

許多用戶(hù)在選擇智能手表的時(shí)候都會(huì)選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門(mén)的選擇,不少用戶(hù)都很好奇華為GT3pro和GT4有什么區(qū)別,下面就就給大家介紹一下二者。華為GT3pro和GT4有什么區(qū)別一、外觀GT4:46mm和41mm,材質(zhì)是玻璃表鏡+不銹鋼機(jī)身+高分纖維后殼。GT3pro:46.6mm和42.9mm,材質(zhì)是藍(lán)寶石玻璃表鏡+鈦金屬機(jī)身/陶瓷機(jī)身+陶瓷后殼二、健康GT4:采用最新的華為T(mén)ruseen5.5+算法,結(jié)果會(huì)更加的精準(zhǔn)。GT3pro:多了ECG心電圖和血管及安

修復(fù):截圖工具在 Windows 11 中不起作用 修復(fù):截圖工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

為什么截圖工具在Windows11上不起作用了解問(wèn)題的根本原因有助于找到正確的解決方案。以下是截圖工具可能無(wú)法正常工作的主要原因:對(duì)焦助手已打開(kāi):這可以防止截圖工具打開(kāi)。應(yīng)用程序損壞:如果截圖工具在啟動(dòng)時(shí)崩潰,則可能已損壞。過(guò)時(shí)的圖形驅(qū)動(dòng)程序:不兼容的驅(qū)動(dòng)程序可能會(huì)干擾截圖工具。來(lái)自其他應(yīng)用程序的干擾:其他正在運(yùn)行的應(yīng)用程序可能與截圖工具沖突。證書(shū)已過(guò)期:升級(jí)過(guò)程中的錯(cuò)誤可能會(huì)導(dǎo)致此issu簡(jiǎn)單的解決方案這些適合大多數(shù)用戶(hù),不需要任何特殊的技術(shù)知識(shí)。1.更新窗口和Microsoft應(yīng)用商店應(yīng)用程

使用C#中的Array.Sort函數(shù)對(duì)數(shù)組進(jìn)行排序 使用C#中的Array.Sort函數(shù)對(duì)數(shù)組進(jìn)行排序 Nov 18, 2023 am 10:37 AM

標(biāo)題:C#中使用Array.Sort函數(shù)對(duì)數(shù)組進(jìn)行排序的示例正文:在C#中,數(shù)組是一種常用的數(shù)據(jù)結(jié)構(gòu),經(jīng)常需要對(duì)數(shù)組進(jìn)行排序操作。C#提供了Array類(lèi),其中有Sort方法可以方便地對(duì)數(shù)組進(jìn)行排序。本文將演示如何使用C#中的Array.Sort函數(shù)對(duì)數(shù)組進(jìn)行排序,并提供具體的代碼示例。首先,我們需要了解一下Array.Sort函數(shù)的基本用法。Array.So

簡(jiǎn)單明了的PHP array_merge_recursive()函數(shù)使用方法 簡(jiǎn)單明了的PHP array_merge_recursive()函數(shù)使用方法 Jun 27, 2023 pm 01:48 PM

在進(jìn)行PHP編程時(shí),我們常常需要對(duì)數(shù)組進(jìn)行合并。PHP提供了array_merge()函數(shù)來(lái)完成數(shù)組合并的工作,不過(guò)當(dāng)數(shù)組中存在相同的鍵時(shí),該函數(shù)會(huì)覆蓋原有的值。為了解決這個(gè)問(wèn)題,PHP在語(yǔ)言中還提供了一個(gè)array_merge_recursive()函數(shù),該函數(shù)可以合并數(shù)組并保留相同鍵的值,使得程序的設(shè)計(jì)變得更加靈活。array_merge

如何使用PHP中的array_combine函數(shù)將兩個(gè)數(shù)組拼成關(guān)聯(lián)數(shù)組 如何使用PHP中的array_combine函數(shù)將兩個(gè)數(shù)組拼成關(guān)聯(lián)數(shù)組 Jun 26, 2023 pm 01:41 PM

在PHP中,有許多強(qiáng)大的數(shù)組函數(shù)可以使數(shù)組的操作更加方便和快捷。當(dāng)我們需要將兩個(gè)數(shù)組拼成一個(gè)關(guān)聯(lián)數(shù)組時(shí),可以使用PHP的array_combine函數(shù)來(lái)實(shí)現(xiàn)這一操作。這個(gè)函數(shù)實(shí)際上是用來(lái)將一個(gè)數(shù)組的鍵作為另一個(gè)數(shù)組的值,合并成一個(gè)新的關(guān)聯(lián)數(shù)組。接下來(lái),我們將會(huì)講解如何使用PHP中的array_combine函數(shù)將兩個(gè)數(shù)組拼成關(guān)聯(lián)數(shù)組。了解array_comb

如何修復(fù)無(wú)法連接到iPhone上的App Store錯(cuò)誤 如何修復(fù)無(wú)法連接到iPhone上的App Store錯(cuò)誤 Jul 29, 2023 am 08:22 AM

第1部分:初始故障排除步驟檢查蘋(píng)果的系統(tǒng)狀態(tài):在深入研究復(fù)雜的解決方案之前,讓我們從基礎(chǔ)知識(shí)開(kāi)始。問(wèn)題可能不在于您的設(shè)備;蘋(píng)果的服務(wù)器可能會(huì)關(guān)閉。訪(fǎng)問(wèn)Apple的系統(tǒng)狀態(tài)頁(yè)面,查看AppStore是否正常工作。如果有問(wèn)題,您所能做的就是等待Apple修復(fù)它。檢查您的互聯(lián)網(wǎng)連接:確保您擁有穩(wěn)定的互聯(lián)網(wǎng)連接,因?yàn)椤盁o(wú)法連接到AppStore”問(wèn)題有時(shí)可歸因于連接不良。嘗試在Wi-Fi和移動(dòng)數(shù)據(jù)之間切換或重置網(wǎng)絡(luò)設(shè)置(“常規(guī)”>“重置”>“重置網(wǎng)絡(luò)設(shè)置”>設(shè)置)。更新您的iOS版本:

php提交表單通過(guò)后,彈出的對(duì)話(huà)框怎樣在當(dāng)前頁(yè)彈出,該如何解決 php提交表單通過(guò)后,彈出的對(duì)話(huà)框怎樣在當(dāng)前頁(yè)彈出,該如何解決 Jun 13, 2016 am 10:23 AM

php提交表單通過(guò)后,彈出的對(duì)話(huà)框怎樣在當(dāng)前頁(yè)彈出php提交表單通過(guò)后,彈出的對(duì)話(huà)框怎樣在當(dāng)前頁(yè)彈出而不是在空白頁(yè)彈出?想實(shí)現(xiàn)這樣的效果:而不是空白頁(yè)彈出:------解決方案--------------------如果你的驗(yàn)證用PHP在后端,那么就用Ajax;僅供參考:HTML code

watch4pro好還是gt好 watch4pro好還是gt好 Sep 26, 2023 pm 02:45 PM

watch4pro和gt各自具有不用的特點(diǎn)和適用場(chǎng)景,如果注重功能的全面性、高性能和時(shí)尚外觀,同時(shí)愿意承擔(dān)較高的價(jià)格,那么Watch 4 Pro可能更適合。如果對(duì)功能要求不高,更注重電池續(xù)航和價(jià)格的合理性,那么GT系列可能更適合。最終的選擇應(yīng)根據(jù)個(gè)人需求、預(yù)算和喜好來(lái)決定,建議在購(gòu)買(mǎi)前仔細(xì)考慮自己的需求,并參考各種產(chǎn)品的評(píng)測(cè)和比較,以做出更明智的選擇。

See all articles