problème avec l'instruction switch
Bonjour,
j'ai dans un fichier de config des constantes qui sont déclarées. dans un autre fichier php, j'écris une fonction qui renvoie l'une ou l'autre constante en fonction des paramètres passés à la fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| function getRed($pid, $annee) {
switch($pid){
case 1:
if ($annee==1998 || $annee==2009) {$red = EFX_COLOR_N98_R;}
elseif ($annee==1999) {$red = EFX_COLOR_N99_R;}
elseif ($annee==2000) {$red = EFX_COLOR_N00_R;}
elseif ($annee==2001) {$red = EFX_COLOR_N01_R;}
elseif ($annee==2002) {$red = EFX_COLOR_N02_R;}
elseif ($annee==2003) {$red = EFX_COLOR_N03_R;}
elseif ($annee==2004) {$red = EFX_COLOR_N04_R;}
elseif ($annee==2005) {$red = EFX_COLOR_N05_R;}
elseif ($annee==2006) {$red = EFX_COLOR_N06_R;}
elseif ($annee==2007) {$red = EFX_COLOR_N07_R;}
elseif ($annee==2008) {$red = EFX_COLOR_N08_R;}
break;
case 2:
if ($annee==1998 || $annee==2009) {$red = EFX_COLOR_S98_R;}
elseif ($annee==1999) {$red = EFX_COLOR_S99_R;}
elseif ($annee==2000) {$red = EFX_COLOR_S00_R;}
elseif ($annee==2001) {$red = EFX_COLOR_S01_R;}
elseif ($annee==2002) {$red = EFX_COLOR_S02_R;}
elseif ($annee==2003) {$red = EFX_COLOR_S03_R;}
elseif ($annee==2004) {$red = EFX_COLOR_S04_R;}
elseif ($annee==2005) {$red = EFX_COLOR_S05_R;}
elseif ($annee==2006) {$red = EFX_COLOR_S06_R;}
elseif ($annee==2007) {$red = EFX_COLOR_S07_R;}
elseif ($annee==2008) {$red = EFX_COLOR_S08_R;}
break;
case 3:
if ($annee==1998 || $annee==2009) {$red = EFX_COLOR_P98_R;}
elseif ($annee==1999) {$red = EFX_COLOR_P99_R;}
elseif ($annee==2000) {$red = EFX_COLOR_P00_R;}
elseif ($annee==2001) {$red = EFX_COLOR_P01_R;}
elseif ($annee==2002) {$red = EFX_COLOR_P02_R;}
elseif ($annee==2003) {$red = EFX_COLOR_P03_R;}
elseif ($annee==2004) {$red = EFX_COLOR_P04_R;}
elseif ($annee==2005) {$red = EFX_COLOR_P05_R;}
elseif ($annee==2006) {$red = EFX_COLOR_P06_R;}
elseif ($annee==2007) {$red = EFX_COLOR_P07_R;}
elseif ($annee==2008) {$red = EFX_COLOR_P08_R;}
break;
}
return $red;
} |
si $pid est égal à 1, je récupère bien la valeur de la constante, mais si $pid=2 ou 3, je récupère dans $red le nom de la constante correspondante et non sa valeur.
qu'est ce qui cloche ??
Merci,
Nico