Bonjour,

Je bloque depuis un moment la dessus.

Je possède une classe, avec plusieurs tableaux.
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");
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
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];
}
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.

Mes essais ont portés sur str_replace. Hélas, je ne remplace toutes mes lettres par la même lettre à chaque fois:
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);
C'est donc là dessus que j'aimerais trouver une solution équivalente mais plus efficace

Merci pour votre aide.