PHP implémente le code de fonction de l'enveloppe rouge

小云云
Libérer: 2023-03-21 09:16:01
original
2623 Les gens l'ont consulté

Cet article partage principalement avec vous la fonction enveloppe rouge implémentée en php, principalement sous forme de code Comme je suis le premier à écrire des enveloppes rouges et que je ne connais pas grand chose aux enveloppes rouges, j'espère que cela pourra aider tout le monde.

for ($i=1; $i < $p; ++$i) { 
	$s2 = ($sum - ($p - $i) * 0.01)/($p - $i);  
	//echo $s2;die;
    $money = rand(1,$s2*100);
    $money = number_format($money/100,2,&#39;.&#39;,&#39;,&#39;); 
	$sum = $sum - $money;
	$wamp[$i] = $money;
	
}
   //format_number(要转换的浮点数,要分隔的符号)
   echo "<hr/>";
   echo "<pre class="brush:php;toolbar:false">";
    print_r($wamp);
    echo "<pre class="brush:php;toolbar:false">";


}
//echo 2;
Copier après la connexion

La fonction enveloppe rouge peut être essentiellement réalisée et les idées principales sont discutées

Il existe un scénario dans lequel 50 étudiants d'un groupe de camarades de classe veulent envoyer des enveloppes rouges pour célébrer une fête

Tout d'abord, on demande à tout le monde Vous devez recevoir une enveloppe rouge, et la probabilité que tout le monde reçoive une enveloppe rouge est fondamentalement la même

Ensuite, la probabilité que tout le monde reçoive une enveloppe rouge = (Le montant actuel de l'enveloppe rouge - (Le nombre de personnes n'ayant pas reçu d'enveloppe rouge actuellement) * Le nombre minimum de personnes ayant reçu une enveloppe rouge Montant) / Nombre actuel de personnes n'ayant pas reçu d'enveloppe rouge

$safe_total Probabilité que chaque personne reçoive une enveloppe rouge $total Montant actuel de l'enveloppe rouge $min Montant minimum de l'enveloppe rouge reçue par une personne

Alors la formule peut être $ safe_total = ($total - ( $num - $i) * $min) / ($num - $i);

Le code n'est pas unique. L'important est la pensée

Ce qui suit est le code de référence.

function getRedGift($total, $num = 10)
{
$min = 0.01;
$wamp = array();
$returnData = array();
for ($i = 1; $i < $num; ++$i) {
$safe_total = ($total - ($num - $i) * $min) / ($num - $i); //红包金额的最大值    为了是大部分个人获得的红包金额一定
if ($safe_total < 0) break;
$money = @mt_rand($min * 100, $safe_total * 100) / 100;//随机产生一个红包金额
$total = $total - $money;//剩余红包总额
$wamp[$i] = round($money, 2);//保留两位有效数字
}
$wamp[$i] = round($total, 2);
$returnData[&#39;MoneySum&#39;] = $wamp;
$returnData[&#39;newTotal&#39;] = array_sum($wamp);
return $returnData;
}
//测试
$data = getRedGift(100, 10);
echo "<pre class="brush:php;toolbar:false">";


print_r($data);


echo "<pre class="brush:php;toolbar:false">";
Copier après la connexion

Recommandations associées :

Développement PHP du partage de code de la fonction d'enveloppe rouge WeChat Cash

Implémentation de la fonction d'enveloppe rouge aléatoire PHP

php implémente la fonction d'enveloppe rouge porte-bonheur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source: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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal