Bon le but de mon programme est tout con c’est de transformer les dates chiffré en jour et mois (par exemple: 08 —> huit pour les jours et 09 ----> Septembre pour les mois.
Mon code est le suivant:
mes deux fonctions:
function tjour($h) {
echo $h;
switch ($h) {
case 01:
return "premier";
break;
case 02:
return "deux";
break;
case 03:
return "trois";
break;
case 04:
return "quatre";
break;
case 05:
return "cinq";
break;
case 06:
return "six";
break;
case 07:
return "sept";
break;
case 08:
return "huit";
break;
case 09:
return "neuf";
break;
case 10:
return "dix";
break;
case 11:
return "onze";
break;
case 12:
return "douze";
break;
case 13:
return "treize";
break;
case 14:
return "quatorze";
break;
case 15:
return "quinze";
break;
case 16:
return "seize";
break;
case 17:
return "dix-sept";
break;
case 18:
return "dix-huit";
break;
case 19:
return "dix-neuf";
break;
case 20:
return "vingt";
break;
case 21:
return "vingt et un";
break;
case 22:
return "vingt-deux";
break;
case 23:
return "vingt-trois";
break;
case 24:
return "vingt-quatre";
break;
case 25:
return "vingt-cinq";
break;
case 26:
return "vingt-six";
break;
case 27:
return "vingt-sept";
break;
case 28:
return "vingt-huit";
break;
case 29:
return "vingt-neuf";
break;
case 30:
return "trente";
break;
case 31:
return "trente et un";
break;
}
}
function tmois($h) {
echo ".".$h;
switch ($h) {
case 01:
return "Janvier";
break;
case 02:
return "Février";
break;
case 03:
return "Mars";
break;
case 04:
return "Avril";
break;
case 05:
return "Mai";
break;
case 06:
return "Juin";
break;
case 07:
return "Juillet";
break;
case 08:
return "Août";
break;
case 09:
return "Septembre";
break;
case 10:
return "Octobre";
break;
case 11:
return "Novembre";
break;
case 12:
return "Décembre";
break;
}
}
pour le resultat:
\\ $jour et $ mois sont defini par un substr qui les sort d'un fichier texte.
$j=tjour($jour);
$m=tmois($mois);
echo $j;
echo $m;
Mon probleme est que le switch case ne return pas le bon string dans certains cas(j’ai pas tout tester):
sa marche pas si le jour est le 08.
sa marche pas si le mois est le 09.
par contre pour le jour 02, 15, 22 et le mois 4(Avril) sa marche.
C’est pas mais setlocale() et [url=http://www.php.net/manual/fr/function.strftime.php]strftime()](http://www.php.net/manual/fr/function.date.php) qu’il faut utiliser si il veut les date en français.
Sinon, à la place des switchs, j’aurais plutôt utilisé des tableaux (c’est vraiment moins moche que les switchs).
Bah le switch c’est vraiment crade :ouch: !!
Perso je comprend même pas à quoi elle sert cette fonction car elle est laide, longue et peux être facilement remplacée :s !
Je te prierai de mettre le langage informatique dans le titre, tel que requis par la charte du forum programmation - pour une meilleure compréhension les uns des autres.
J’aurai plutôt fait commencé tes index de tableau à 1 ( $mois = array(1 => ‘Janvier’,‘Février’,…); ) mais bon
Je me suis souvent demandé à quoi elle pouvait bien servir cette structure. Je suis plutôt de l’avis de DarKChAm, mais si tu as un exemple de bonne utilisation sous la main, je serais curieux de le voir.
Je m’en sers dés que je le juge utile. Mais je n’ai pas d’exemple. Je dirais que si tu peux remplacer par un tableau associatif c’est que c’est inutile.