Maison 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);
Copier après la connexion
Copier après la connexion

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);
Copier après la connexion
Copier après la connexion


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


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Régression quantile pour la prévision probabiliste de séries chronologiques Régression quantile pour la prévision probabiliste de séries chronologiques May 07, 2024 pm 05:04 PM

Ne changez pas la signification du contenu original, affinez le contenu, réécrivez le contenu et ne continuez pas. "La régression quantile répond à ce besoin, en fournissant des intervalles de prédiction avec des chances quantifiées. Il s'agit d'une technique statistique utilisée pour modéliser la relation entre une variable prédictive et une variable de réponse, en particulier lorsque la distribution conditionnelle de la variable de réponse présente un intérêt quand. Contrairement à la régression traditionnelle " Figure (A) : Régression quantile La régression quantile est une estimation. Une méthode de modélisation de la relation linéaire entre un ensemble de régresseurs X et les quantiles. des variables expliquées Y. Le modèle de régression existant est en fait une méthode pour étudier la relation entre la variable expliquée et la variable explicative. Ils se concentrent sur la relation entre variables explicatives et variables expliquées.

Comment créer une applet de loterie Excel Comment créer une applet de loterie Excel Mar 20, 2024 am 11:40 AM

Dans le travail quotidien, nous rencontrons beaucoup de choses qui nécessitent un tirage au sort. La méthode traditionnelle consiste à tirer des nombres au hasard à l'aide de numéros sur papier, nous pouvons utiliser des ordinateurs pour tirer au sort. La leçon que je veux partager avec vous. aujourd'hui, c'est Comment créer une applet de loterie Excel. 1. Tout d'abord, nous ouvrons le logiciel Excel et ouvrons le tableau que nous avons préparé. Le tableau doit contenir nos noms. 2. Ensuite, nous fusionnons les cellules de droite, remplissons en noir qui a de la chance ce soir, fusionnons les cellules ci-dessous et remplissons en rouge, comme le montre la figure ci-dessous. 3. Ensuite, nous entrons dans la fonction randbetween dans la zone rouge et définissons la première ligne sur 2 et la dernière ligne sur 7, comme le montre la figure ci-dessous. 4. Ensuite, nous entrons devant

Explication détaillée de la conception et de la mise en œuvre du système de loterie PHP Explication détaillée de la conception et de la mise en œuvre du système de loterie PHP Mar 01, 2024 am 09:51 AM

Explication détaillée de la conception et de la mise en œuvre du système de loterie PHP 1. Présentation La loterie est un outil marketing utilisé par de nombreux sites Web et applications. Grâce à la loterie, elle peut inciter les utilisateurs à participer à des activités, augmenter l'interactivité des utilisateurs et améliorer leur fidélité. Dans cet article, nous présenterons en détail comment utiliser le langage PHP pour concevoir et mettre en œuvre un système de loterie simple. En étudiant cet article, les lecteurs comprendront les principes de construction et la mise en œuvre du code spécifique du système de loterie. 2. Conception du système Avant de concevoir un système de loterie, nous devons d'abord déterminer les exigences fonctionnelles et les processus du système. un

Comment utiliser Vue pour implémenter des effets spéciaux de roue de loterie Comment utiliser Vue pour implémenter des effets spéciaux de roue de loterie Sep 19, 2023 am 10:18 AM

Comment utiliser Vue pour implémenter des effets spéciaux de roue de loterie En tant qu'outil marketing populaire, les activités de loterie apparaissent souvent dans diverses activités. Afin d'augmenter le plaisir et l'interactivité, nous pouvons utiliser le framework Vue pour implémenter un effet spécial de roue de loterie. Cet article expliquera comment utiliser Vue pour obtenir cet effet spécial et donnera des exemples de code spécifiques. Tout d'abord, nous devons créer une instance Vue pour contrôler l'état et l'animation de la platine. Dans cet exemple, nous devons définir l'état initial de la roue, y compris le palmarès, si la roue tourne,

Étapes et techniques pour développer des fonctions de loterie en utilisant PHP Étapes et techniques pour développer des fonctions de loterie en utilisant PHP Feb 29, 2024 pm 04:42 PM

Titre : Étapes et techniques pour développer des fonctions de loterie à l'aide de PHP. Dans le développement de sites Web, les fonctions de loterie sont souvent utilisées pour augmenter l'interactivité et l'attraction des utilisateurs. Utiliser le langage PHP pour développer des fonctions de loterie est une méthode courante. Dans cet article, nous présenterons comment utiliser PHP pour développer une fonction de loterie simple et donnerons des exemples de code spécifiques. Étape 1 : Préparer la base de données Tout d'abord, nous devons créer une base de données MySQL pour stocker les données pertinentes de la loterie, y compris les informations sur les prix, les informations sur les utilisateurs participants, etc. Vous pouvez utiliser la commande SQL suivante pour créer un

Comment implémenter la loterie en php Comment implémenter la loterie en php Dec 19, 2022 am 10:10 AM

Comment implémenter la loterie en PHP : 1. Créez un exemple de fichier PHP ; 2. Définissez les prix appartenant à la cagnotte ; 3. Organisez une loterie aléatoire via la méthode "shuffle($prize);" prize[0]) ;" Imprimez simplement les résultats de la loterie.

MySQL implémente la fonction de loterie et les étapes pour créer un tableau des prix MySQL implémente la fonction de loterie et les étapes pour créer un tableau des prix Jul 01, 2023 am 09:29 AM

Étapes pour créer une table de prix avec MySQL pour implémenter la fonction de loterie En tant qu'outil marketing courant, les activités de loterie sont largement utilisées dans divers domaines. Afin de mettre en œuvre la fonction de loterie, nous pouvons utiliser la base de données MySQL pour créer un tableau des prix et mettre en œuvre l'ensemble du processus de loterie via des opérations de base de données. Cet article présentera les étapes à suivre pour utiliser MySQL pour créer une table de prix et implémenter la fonction de loterie. Étape 1 : Créer la table des prix Dans MySQL, nous pouvons utiliser l'instruction CREATETABLE pour créer la table des prix. Le palmarès doit contenir au moins les éléments suivants

Comment augmenter le taux de gain à la loterie Douyin ? Quelles sont les techniques ? Comment augmenter le taux de gain à la loterie Douyin ? Quelles sont les techniques ? Mar 07, 2024 pm 02:43 PM

Dans l'ère prospère des médias sociaux d'aujourd'hui, les courtes vidéos de Douyin sont devenues un élément indispensable de la vie des gens. La loterie sur Douyin a également attiré l'attention et la participation d'innombrables utilisateurs. Cependant, de nombreuses personnes rencontrent souvent un problème : Comment améliorer leur taux de gain à la loterie Douyin ? Cet article résumera plusieurs conseils pour améliorer votre taux de gain afin de vous aider à avoir plus de chance à la loterie Douyin. 1. Lisez attentivement les règles de la loterie. Pour augmenter le taux de gain, nous ne pouvons pas ignorer les règles de la loterie. Chaque loterie aura des règles détaillées, y compris les conditions de participation, l'heure et la méthode de la loterie, etc. Avant de participer, assurez-vous de lire attentivement le règlement et assurez-vous de remplir toutes les conditions. Parfois, vous pouvez également découvrir des opportunités cachées en lisant attentivement les règles, augmentant ainsi vos chances de réussite.

See all articles