Bonjour, j'aimerais savoir s'il est possible en PHP d'avoir un random dépendant d'un % de chance.

Par exemple, pour un jeu, si l'on dit que le monstre M a 50% chances de donner l'item 1, 25% chance de donner l'item 2 et 0,1% chance de donner l'item 3.

Donc:
50% - 1
25% - 2
0,1% - 3

L'item 1 a le plus de chance d'être donné car il a le plus haut %.

Pour le moment j'avais pensé me faire une table qui ressemblerait à cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
monstre -- item -- prc
M          1       50
M          2       25
M          3       0.1
et dans mon code j'aurais fais quelque chose comme...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$drop = array();
foreach($itemSQL as $item)
{
   for($i=0;$i<=$item['prc'];$i++)
      {
         array_push($drop, $item['item']);
      }
}
 
$randDrop = rand(0,count($drop));
$currDrop = $drop[$randDrop];
mais il doit bien y exister une autre méthode plus efficace?

Merci d'avance

EDIT: De plus, ma méthode ne gère pas les 0,1% a moins de multiplier le tout par 10 et la... c'est encore pire :S (750 données dans un tableau, bien que rapide, je ne crois aucunement que ce soit saint ^^)