Fonction ne prenant pas en compte une boucle
Posté : 30 oct. 2013, 10:39
Bonjour à tous, je viens vous demander un petit coup de main pour comprendre pourquoi dans cette fonction ma boucle for me fonctionne pas, cette fonction doit déterminer si un "mot" donné en argument est au pluriel ou non.
Mon problème est lors de la boucle for, la valeur du mot "toujours au pluriel" ne change pas (comme présenté dans le script ci dessous) Comme sur le screen ci-dessous ou l'ont voit que la valeur du $mots_toujours_pluriels[$i] est toujours la même, même avec la boucle for sensé effectuer un tour complet du tableau

Merci par avance pour votre piste
Mon problème est lors de la boucle for, la valeur du mot "toujours au pluriel" ne change pas (comme présenté dans le script ci dessous) Comme sur le screen ci-dessous ou l'ont voit que la valeur du $mots_toujours_pluriels[$i] est toujours la même, même avec la boucle for sensé effectuer un tour complet du tableau
Merci par avance pour votre piste
function mot_pluriel($txt){
$mots_toujours_pluriels = array(
"Abcès",
"Discours",
"Ailleurs",
"Archives",
"Jamais",
"Abus",
"Remous",
"Agissements",
"Alors",
"Canevas",
"Revers",
"Appointements",
"Longtemps",
"Chaos",
"Héros",
"abois",
"Certes",
"Compas",
"Jus",
"aguets",
"Moins",
"Marais",
"Velours",
"environs",
"Dehors",
"Mets",
"Talus",
"confins",
"Parfois",
"Parcours",
"Mois",
"Décombres",
"Dessous",
"Poids",
"Doléances",
"Puis",
"Compas",
"Frais",
"Dessus",
"Concours",
"Funérailles",
"Quelquefois",
"printemps",
"Fiançailles",
"Désormais",
"Cours",
"Pourparlers",
"Toujours",
"Décès",
"Représailles",
"Exprès",
"Puits",
"ténèbres",
"Volontiers",
"Corps",
"Jadis",
"Relais",
"Fois",
"Gens");
$last_occurence = substr($txt, -1);
for($i=0;$i < sizeof($mots_toujours_pluriels);$i++){
if(strtolower($txt) != strtolower ($mots_toujours_pluriels[$i])){//suppresion des "s"
if($last_occurence == "s"){
echo "<p>[".$txt."] doit être different de[".$mots_toujours_pluriels[$i]."]</p> ";
$txt_end = substr($txt,0,strlen($txt)-1);
$txt_end = removeAccents($txt_end);
// echo "<BR />Le mot est maintenant egal a : [".$txt_end."]<BR /><BR />";
return $txt_end;
}
else{
$txt_end = $txt;
return $txt_end;
}
}
}
}