Bonjour,
Je bloque depuis un moment la dessus.
Je possède une classe, avec plusieurs tableaux.
Je génère un Coda qui composera donc des syllabes. Oui, je sait que c'est barbare comme système !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private $tConsonnes = array("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z"); private $tVoyelles = array("A", "E", "I", "O", "U", "Y"); private $tCoda = array("C", "V");
Cette partie là fonctionne très bien. J'obtiens donc une chaine composé de "C" et de "V". Seulement voila, je tente maintenant de remplacer toutes les voyelles "V" par un aléatoire du tableau de voyelles et ensuite toutes les consonnes "C" avec un aléatoire du tableau de consonnes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $selNbLongueur = $_REQUEST['sel_nb_longueur']; $coda = ''; //Générer le coda for($i = 1; $i <= $selNbLongueur; $i++) { //Retourne un nombre aléatoire ne dépassant pas les capacité du tableau $random = array_rand($this->tCoda); //Génère la chaine Coda $coda .= $this->tCoda[$random]; }
Mes essais ont portés sur str_replace. Hélas, je ne remplace toutes mes lettres par la même lettre à chaque fois:
C'est donc là dessus que j'aimerais trouver une solution équivalente mais plus efficace
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $resultat = ''; //Retourne un nombre aléatoire ne dépassant pas les capacité du tableau $random = array_rand($this->tVoyelles); //Pour chaque V, remplacer par une lettre aléaoire du tableau correspondant $resultat = str_replace("V", $this->tVoyelles[$random], $coda); //Retourne un nombre aléatoire ne dépassant pas les capacité du tableau $random = array_rand($this->tConsonnes); //Pour chaque C, remplacer par une lettre aléaoire du tableau correspondant $resultat = str_replace("C", $this->tConsonnes[$random], $resultat);
Merci pour votre aide.
Partager