ricozone3d
Messages postés3Date d'inscriptionlundi 18 octobre 2004StatutMembreDernière intervention 2 novembre 2011
-
1 nov. 2011 à 16:08
ricozone3d
Messages postés3Date d'inscriptionlundi 18 octobre 2004StatutMembreDernière intervention 2 novembre 2011
-
2 nov. 2011 à 09:16
Bonjour,
je cherche à faire associer 2 arrays (contenant chacun les mêmes valeurs mais ordonnées de façon différente) afin de créer des paires uniques.....voici mon début de code (si je ne suis pas vraiment clair !) :
<?php
$amis1 = Array("bertrand", "ronan", "isabelle");// je commence par 3 personnes seulement pour faire simple
$amis2 = $amis1; // copie du précédent array
shuffle ($amis2); // on mélange ce nouvel array
// boucle inversée (du dernier au premier élément)
for ($i=count($amis1)-1; $i>=0; $i--){
$a = $amis1[$i];
$b = $amis2[$i];
if ($b!=$a) {
echo '
';
echo $a.' --> '.$b.'
';// le couple est bien formé de façon unique
echo '
';
}else{//end if
echo '
';
echo $a.' --> '.$b.'
';// les valeurs de ces 2 tableaux sont les mêmes
echo '
';
}
}
?>
J'ai donc, de façon aléatoire, des combinaisons qui se font bien :
isabelle --> bertrand
ronan --> isabelle
bertrand --> ronan
et parfois des combinaisons que je ne souhaite pas :
isabelle --> ronan
ronan --> isabelle
bertrand --> bertrand
Comment puis-je orienter mon code afin d'avoir toujours une combinaison dont les valeurs ne sont jamais identiques et ordonnée de façon aléatoire ?
ricozone3d
Messages postés3Date d'inscriptionlundi 18 octobre 2004StatutMembreDernière intervention 2 novembre 2011 2 nov. 2011 à 09:16
Merci, effectivement c'est assez simple avec une fonction récursive qui cherche de façon aléatoire un autre nom à chaque fois qu'elle rencontre un nom identique.
Je ne suis pas encore à l'aise avec ce genre de mécanismes.