tirage au sort dans un tableau sur plusieurs niveaux

dudo
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 456
Inscription: 10 Jan 2004

tirage au sort dans un tableau sur plusieurs niveaux

Message le Mer Déc 15, 2010 17:49

bonsoir,

Est il possible de faire un tirage au sort dans un tableau sur
plusieur niveaux ?

je mets un bout de code ci-dessous cela me semble plus simple
pour expliquer l'idée...

merci ludo
Code: Tout sélectionner
<?
$tableau=array(
' A '=>' $my_array = array('a', 'b', 'c', 'd', )'
' B '=>' $my_array = array('e', 'f', 'g' 'h', )'
);

$random = array_rand($my_array);

?>


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8580
Inscription: 23 Nov 2005

Re: tirage au sort dans un tableau sur plusieurs niveaux

Message le Mer Déc 15, 2010 17:54


jcaron
WRInaute accro
WRInaute accro
 
Messages: 2687
Inscription: 13 Fév 2004

Re: tirage au sort dans un tableau sur plusieurs niveaux

Message le Mer Déc 15, 2010 23:04

Attention: la fonction proposée ne donne pas une distribution uniforme si tu n'as pas le même nombre de valeurs au second niveau pour chaque clef du premier niveau. Par exemple si tu as:

$tableau=array(
' A '=>' $my_array = array('a', 'b', 'c', 'd', )'
' B '=>' $my_array = array('e', 'f')'
);

Alors il y a une chance sur 8 pour chacun des a, b, c ou d, alors qu'il y a une chance sur 4 pour e et f.

Dans ce cas, la solution la plus simple (si tu veux maintenir l'équiprobabilité) est de tout mettre à plat...

Jacques.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités