6
votes

Comment puis-je exécuter de manière aléatoire de code 33% du temps en PHP?

Je ne suis pas si sûr comment écrire ceci: Je veux générer un nombre aléatoire de 0 à 2, puis écrivez un si instruction qui exécute un code spécifique seulement 33% du temps. < p> C'est ce que j'ai essayé de faire: xxx


1 commentaires

Vous devriez faire rand (0,2) pour en faire 33% de chances. rand (0,3) donne 25%.


6 Réponses :


11
votes

Les deux arguments représentent les valeurs aléatoires minimales et maximales. Si vous voulez une chance de 1 en 3, vous ne devez autoriser que 3 possibilités. Aller du minimum de 0 au maximum 3 permet de 4 valeurs possibles (0,1,2,3), de sorte que cela ne fera pas tout à fait ce que vous voulez. En outre, mt_rand () est un meilleur fonction à utiliser que rand () .

donc ce serait: xxx


1 commentaires

À cette fin, la différence entre rand () et mt_rand () sera très probablement imperceptible ;-)



1
votes

Votre code exécutera 25% du temps. {0 1 2 3} est un ensemble de 4 chiffres. vous voulez faire

si (rand (1,3) == 2) ...


0 commentaires

1
votes

Remplacer par

if (rand(0, 2)==2) { echo "Success"; }


0 commentaires

3
votes

Les limites RAND () PHP sont inclusives, vous souhaiteriez donc si (rand (0,2) == 2) . .


0 commentaires

2
votes

qui exécute un code spécifique seulement 33% du temps.

Voulez-vous simplement souligner que l'utilisation aléatoire ne donnera que le code à 33% chance d'exécution contraire à l'exécution de l'exécution 1/3 du temps.


0 commentaires

1
votes

Je sais que c'est une réponse tardive, mais je ferais xxx

pour toute fraction 1 / x souhaité, remplacez 0,2 < / code> avec 0, x-1


0 commentaires