Heim php教程 PHP源码 抽奖概率 PHP

抽奖概率 PHP

May 26, 2016 am 08:21 AM

抽奖概率

<?php 

function get_rand($proArr) { 
    $result = &#39;&#39;; 

    //概率数组的总概率精度
    $proSum = array_sum($proArr); 

    //概率数组循环
    foreach ($proArr as $key => $proCur) { 
        $randNum = mt_rand(1, $proSum); 
        if ($randNum <= $proCur) { 
            $result = $key; 
            break; 
        } else { 
            $proSum -= $proCur; 
        } 
    } 
    unset ($proArr); 

    return $result; 
}

$prize_arr = array( 
    &#39;0&#39; => array(&#39;id&#39;=>1,&#39;prize&#39;=>&#39;平板电脑&#39;,&#39;v&#39;=>0), 
    &#39;1&#39; => array(&#39;id&#39;=>2,&#39;prize&#39;=>&#39;数码相机&#39;,&#39;v&#39;=>0), 
    &#39;2&#39; => array(&#39;id&#39;=>3,&#39;prize&#39;=>&#39;音箱设备&#39;,&#39;v&#39;=>0), 
    &#39;3&#39; => array(&#39;id&#39;=>4,&#39;prize&#39;=>&#39;4G优盘&#39;,&#39;v&#39;=>0), 
    &#39;4&#39; => array(&#39;id&#39;=>5,&#39;prize&#39;=>&#39;10Q币&#39;,&#39;v&#39;=>1), 
    &#39;5&#39; => array(&#39;id&#39;=>6,&#39;prize&#39;=>&#39;下次没准就能中哦&#39;,&#39;v&#39;=>100), 
);  


//code here eg:unset($prize_arr[&#39;0&#39;])
foreach ($prize_arr as $key => $val) { 
    $arr[$val[&#39;id&#39;]] = $val[&#39;v&#39;]; 
} 

$rid = get_rand($arr); //根据概率获取奖项id

$res[&#39;yes&#39;] = $prize_arr[$rid-1][&#39;prize&#39;]; //中奖项
//将中奖项从数组中剔除,剩下未中奖项,如果是数据库验证,这里可以省掉
unset($prize_arr[$rid-1]); 
shuffle($prize_arr); //打乱数组顺序
for($i=0;$i<count($prize_arr);$i++){ 
    $pr[] = $prize_arr[$i][&#39;prize&#39;]; 
} 
$res[&#39;no&#39;] = $pr; 
echo "<pre class="brush:php;toolbar:false">";
print_r($res);
// echo json_encode($res);
Nach dem Login kopieren
Nach dem Login kopieren

2. [代码]抽奖概率

<?php 

function get_rand($proArr) { 
    $result = &#39;&#39;; 

    //概率数组的总概率精度
    $proSum = array_sum($proArr); 

    //概率数组循环
    foreach ($proArr as $key => $proCur) { 
        $randNum = mt_rand(1, $proSum); 
        if ($randNum <= $proCur) { 
            $result = $key; 
            break; 
        } else { 
            $proSum -= $proCur; 
        } 
    } 
    unset ($proArr); 

    return $result; 
}

$prize_arr = array( 
    &#39;0&#39; => array(&#39;id&#39;=>1,&#39;prize&#39;=>&#39;平板电脑&#39;,&#39;v&#39;=>0), 
    &#39;1&#39; => array(&#39;id&#39;=>2,&#39;prize&#39;=>&#39;数码相机&#39;,&#39;v&#39;=>0), 
    &#39;2&#39; => array(&#39;id&#39;=>3,&#39;prize&#39;=>&#39;音箱设备&#39;,&#39;v&#39;=>0), 
    &#39;3&#39; => array(&#39;id&#39;=>4,&#39;prize&#39;=>&#39;4G优盘&#39;,&#39;v&#39;=>0), 
    &#39;4&#39; => array(&#39;id&#39;=>5,&#39;prize&#39;=>&#39;10Q币&#39;,&#39;v&#39;=>1), 
    &#39;5&#39; => array(&#39;id&#39;=>6,&#39;prize&#39;=>&#39;下次没准就能中哦&#39;,&#39;v&#39;=>100), 
);  


//code here eg:unset($prize_arr[&#39;0&#39;])
foreach ($prize_arr as $key => $val) { 
    $arr[$val[&#39;id&#39;]] = $val[&#39;v&#39;]; 
} 

$rid = get_rand($arr); //根据概率获取奖项id

$res[&#39;yes&#39;] = $prize_arr[$rid-1][&#39;prize&#39;]; //中奖项
//将中奖项从数组中剔除,剩下未中奖项,如果是数据库验证,这里可以省掉
unset($prize_arr[$rid-1]); 
shuffle($prize_arr); //打乱数组顺序
for($i=0;$i<count($prize_arr);$i++){ 
    $pr[] = $prize_arr[$i][&#39;prize&#39;]; 
} 
$res[&#39;no&#39;] = $pr; 
echo "<pre class="brush:php;toolbar:false">";
print_r($res);
// echo json_encode($res);
Nach dem Login kopieren
Nach dem Login kopieren


 以上就是抽奖概率的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quantilregression für probabilistische Zeitreihenprognosen Quantilregression für probabilistische Zeitreihenprognosen May 07, 2024 pm 05:04 PM

Ändern Sie nicht die Bedeutung des ursprünglichen Inhalts, optimieren Sie den Inhalt nicht, schreiben Sie den Inhalt neu und fahren Sie nicht fort. „Die Quantilregression erfüllt diesen Bedarf, indem sie Vorhersageintervalle mit quantifizierten Chancen bereitstellt. Dabei handelt es sich um eine statistische Technik zur Modellierung der Beziehung zwischen einer Prädiktorvariablen und einer Antwortvariablen, insbesondere wenn die bedingte Verteilung der Antwortvariablen von Interesse ist. Im Gegensatz zur herkömmlichen Regression Methoden: Die Quantilregression konzentriert sich auf die Schätzung der bedingten Größe der Antwortvariablen und nicht auf den bedingten Mittelwert Quantile der erklärten Variablen Y. Das bestehende Regressionsmodell ist eigentlich eine Methode zur Untersuchung der Beziehung zwischen der erklärten Variablen und der erklärenden Variablen. Sie konzentrieren sich auf die Beziehung zwischen erklärenden Variablen und erklärten Variablen

So erstellen Sie ein Excel-Lotterie-Applet So erstellen Sie ein Excel-Lotterie-Applet Mar 20, 2024 am 11:40 AM

Bei der täglichen Arbeit stoßen wir auf viele Dinge, die das Auslosen von Zahlen erfordern. Mit der Entwicklung elektronischer Software können wir die Lektion, die ich mit Ihnen teilen möchte, nutzen Heute erfahren Sie, wie Sie ein Excel-Lotterie-Applet erstellen. 1. Zuerst öffnen wir die Excel-Software und öffnen die von uns vorbereitete Tabelle. Die Tabelle muss unsere Namen enthalten. 2. Dann führen wir die Zellen auf der rechten Seite zusammen, füllen Schwarz aus, wer heute Abend Glück hat, und fügen die Zellen darunter zusammen und füllen Rot aus, wie in der Abbildung unten gezeigt. 3. Dann geben wir die Randbetween-Funktion in den roten Bereich ein und setzen die erste Zeile auf 2 und die letzte Zeile auf 7, wie in der Abbildung unten gezeigt. 4. Dann geben wir vorne ind ein

Detaillierte Erläuterung des Designs und der Implementierung des PHP-Lotteriesystems Detaillierte Erläuterung des Designs und der Implementierung des PHP-Lotteriesystems Mar 01, 2024 am 09:51 AM

Detaillierte Erläuterung des Designs und der Implementierung des PHP-Lotteriesystems 1. Überblick Lotterie ist ein Marketinginstrument, das von vielen Websites und Anwendungen verwendet wird. Durch Lotterie können Benutzer zur Teilnahme an Aktivitäten angezogen, die Benutzerinteraktivität erhöht und die Benutzerbindung verbessert werden. In diesem Artikel stellen wir Ihnen detailliert vor, wie Sie mithilfe der PHP-Sprache ein einfaches Lotteriesystem entwerfen und implementieren. Durch das Studium dieses Artikels werden die Leser die Konstruktionsprinzipien und die spezifische Code-Implementierung des Lotteriesystems verstehen. 2. Systemdesign Bevor wir ein Lotteriesystem entwerfen, müssen wir zunächst die funktionalen Anforderungen und Prozesse des Systems bestimmen. eins

So verwenden Sie Vue, um Lotterierad-Spezialeffekte zu implementieren So verwenden Sie Vue, um Lotterierad-Spezialeffekte zu implementieren Sep 19, 2023 am 10:18 AM

So verwenden Sie Vue zur Implementierung von Lotterierad-Spezialeffekten. Als beliebtes Marketinginstrument tauchen Lotterieaktivitäten häufig in verschiedenen Aktivitäten auf. Um den Spaß und die Interaktivität zu erhöhen, können wir das Vue-Framework verwenden, um einen Lotterierad-Spezialeffekt zu implementieren. In diesem Artikel wird erläutert, wie Sie mit Vue diesen Spezialeffekt erzielen, und es werden spezifische Codebeispiele aufgeführt. Zuerst müssen wir eine Vue-Instanz erstellen, um den Status und die Animation des Plattenspielers zu steuern. In diesem Beispiel müssen wir den Anfangszustand des Rades definieren, einschließlich der Preisliste, ob sich das Rad dreht,

Schritte und Techniken zur Entwicklung von Lotteriefunktionen mit PHP Schritte und Techniken zur Entwicklung von Lotteriefunktionen mit PHP Feb 29, 2024 pm 04:42 PM

Titel: Schritte und Techniken zur Entwicklung von Lotteriefunktionen mit PHP Bei der Website-Entwicklung werden Lotteriefunktionen häufig verwendet, um die Benutzerinteraktivität und -attraktivität zu erhöhen. Die Verwendung der PHP-Sprache zur Entwicklung von Lotteriefunktionen ist eine gängige Methode. In diesem Artikel stellen wir vor, wie man mit PHP eine einfache Lotteriefunktion entwickelt, und geben konkrete Codebeispiele. Schritt 1: Bereiten Sie die Datenbank vor. Zuerst müssen wir eine MySQL-Datenbank erstellen, um relevante Daten der Lotterie zu speichern, einschließlich Preisinformationen, Informationen zu teilnehmenden Benutzern usw. Sie können den folgenden SQL-Befehl verwenden, um eine zu erstellen

So implementieren Sie PHP zur Implementierung von Lotterieziehungen und Vorteilen in WeChat-Miniprogrammen So implementieren Sie PHP zur Implementierung von Lotterieziehungen und Vorteilen in WeChat-Miniprogrammen Jun 02, 2023 am 10:51 AM

Mit der Popularität von WeChat-Miniprogrammen beginnen immer mehr Unternehmen, Geschäfte über WeChat-Miniprogramme abzuwickeln. Dazu gehören Lotterieziehungen und Wohlfahrtsaktivitäten, die nicht nur die Bindung der Benutzer erhöhen, sondern auch die Sichtbarkeit des Unternehmens erhöhen können. In diesem Artikel wird erläutert, wie Sie mit PHP Lotterie- und Wohlfahrtsaktivitäten in WeChat-Miniprogrammen implementieren. 1. Anmeldung beim WeChat-Applet Zuerst müssen wir die Anmeldung beim WeChat-Applet verstehen. Wenn sich der Benutzer im WeChat-Miniprogramm anmelden muss, muss er die von WeChat bereitgestellte Anmeldeautorisierungsseite öffnen und der Autorisierung zustimmen. Erst dann können wir die Informationen des Benutzers erhalten und dann die Informationen extrahieren.

Best-Practice-Austausch für die Implementierung der Lotteriefunktion in PHP Best-Practice-Austausch für die Implementierung der Lotteriefunktion in PHP Mar 01, 2024 am 08:42 AM

Austausch der Best Practices für die Implementierung von Lotteriefunktionen in PHP Mit der Entwicklung des Internets sind Lotterieaktivitäten auf verschiedenen Websites und Anwendungen immer häufiger anzutreffen. Als Mittel zur Werbung und Interaktion können Lotterieaktivitäten Benutzer effektiv anziehen und die Benutzerbeteiligung erhöhen. und Loyalität. Wie implementiert man eine einfache und praktische Lotteriefunktion in eine Website oder Anwendung? In diesem Artikel werden die Best Practices für die Implementierung von Lotteriefunktionen in PHP vorgestellt, einschließlich Implementierungsmechanismen, Codebeispielen und Vorsichtsmaßnahmen. Implementierungsmechanismus Um die Lotteriefunktion zu implementieren, müssen Sie zunächst die Lotterieregeln und Gewinneinstellungen festlegen. Normale Lotteriefunktion

So richten Sie eine Excel-Lotterie ein So richten Sie eine Excel-Lotterie ein Mar 20, 2024 am 10:28 AM

Ich glaube, dass die meisten von Ihnen Microsoft Office Excel zum Verarbeiten von Daten, Filtern, Analysieren, Diagrammen und Erstellen von Tabellen verwendet haben. Dies sind unsere täglichen Aufgaben, aber wussten Sie, dass Microsoft Office Excel tatsächlich Lotterieziehungen implementieren kann? Und es ist nicht kompliziert. Heute zeige ich Ihnen im Detail, wie Sie die Excel-Lotterie einrichten. Öffnen Sie zunächst Microsoft Office Excel auf dem Desktop und wählen Sie ein Datenblatt aus. Geben Sie die Funktion =INDEX() in die Zielzelle ein und beobachten Sie dann den von der INDEX-Funktion zurückgegebenen Wert, der mit der Zeilennummer und der Spaltennummer übereinstimmt. Detaillierte Anweisungen finden Sie in der Tabelle. 2. Wählen Sie in der ersten Option aus

See all articles