At the moment I am writing a calendar. According to the chosen motn ($monthnum), I store the abbreviated month name ($monthabbr) in a database. For that I use a switch-case construct. It works for all months, except for 08-August and 09-September. Since I used the same code for all months, I don't know why it's not working. I am close to the edge to start all over again, but before that I'll better ask if you see an error.
switch( $monthnum ) {
case 01:
$monthabbr = 'Jan';
break;
case 02:
$monthabbr = 'Feb';
break;
case 03:
$monthabbr = 'Mär';
break;
case 04:
$monthabbr = 'Apr';
break;
case 05:
$monthabbr = 'Mai';
break;
case 06:
$monthabbr = 'Jun';
break;
case 07:
$monthabbr = 'Jul';
break;
case 08:
$monthabbr = 'Aug';
break;
case 09:
$monthabbr = 'Sep';
break;
case 10:
$monthabbr = 'Okt';
break;
case 11:
$monthabbr = 'Nov';
break;
case 12:
$monthabbr = 'Dez';
break;
}
Change 01, 02, ..., 09 to just 1, 2, ..., 9 (drop the zeros).
By starting an integer literal with a 0 indicates that it should be interpreted as an octal number (a number in base 8).
For octal numbers the digits 8 and 9 are illegal.
Further reading:
(Btw, you may want to consider using an array or a map from integer to string, and just look up the string using something like monthAbbrs[$monthnum])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With