Bonsoir ! 
Dans le cadre d'une utilisation bien particulière, j'ai trouvé et adapté cette fonction qui permet d'effectuer un "tirage aléatoire" avec prise en compte de probabilités.
La fonction rand() de PHP fonctionne, ainsi que mt_rand, mais je trouve qu'elles ne respectent pas suffisamment les probabilités...
Simple question : comment adapter cette fonction afin de définir des probabilités en fonction d'un membre et non pour tous les internautes en général ?
Je m'explique :
Si je dis : les membre "A" et "B" ont 10% de chances de tomber sur "1", 60% de chances de tomber sur "2" et 30% de chances de tomber sur "3".
En clair, les deux membres qui ouvrent la page contenant cette fonction ont les mêmes chances de tomber sur l'une ou l'autre des possibilités...
Cependant, l'un peut tomber beaucoup plus souvent sur l'une ou l'autre... Et l'autre, ne jamais tomber dessus, étant donné que les membres utilisent cette fonction l'un après l'autre.
En gros, comment faire pour que la fonction offre les mêmes probabilités aux deux membres ?

Dans le cadre d'une utilisation bien particulière, j'ai trouvé et adapté cette fonction qui permet d'effectuer un "tirage aléatoire" avec prise en compte de probabilités.
La fonction rand() de PHP fonctionne, ainsi que mt_rand, mais je trouve qu'elles ne respectent pas suffisamment les probabilités...
Code:
<?php
function ProbaRand()
{
$arg_list=func_get_args();
$tablo=array();
$start=0;
foreach($arg_list as $arg_curr)
{
if(!is_array($arg_curr)){return (false);}
$tempo=array();
list($tempo['name'], $tempo['probability'])=$arg_curr;
$tempo['start']=$start;
$tempo['end']=($start + $tempo['probability']);
$start+=$tempo['probability'];
array_push($tablo, $tempo);
}
$result=mt_rand(0, 1000)/1000;
foreach($tablo as $once)
{
if($result>=$once['start'] && $result<=$once['end'])
{
return($once['name']);
}
}
}
$tmp_rand=ProbaRand(
array('1', 0.25),
array('2', 0.60),
array('3', 0.05),
array('4', 0.10)
);
?>
Simple question : comment adapter cette fonction afin de définir des probabilités en fonction d'un membre et non pour tous les internautes en général ?
Je m'explique :
Si je dis : les membre "A" et "B" ont 10% de chances de tomber sur "1", 60% de chances de tomber sur "2" et 30% de chances de tomber sur "3".
En clair, les deux membres qui ouvrent la page contenant cette fonction ont les mêmes chances de tomber sur l'une ou l'autre des possibilités...
Cependant, l'un peut tomber beaucoup plus souvent sur l'une ou l'autre... Et l'autre, ne jamais tomber dessus, étant donné que les membres utilisent cette fonction l'un après l'autre.
En gros, comment faire pour que la fonction offre les mêmes probabilités aux deux membres ?