Autor |
Nachricht |
mayo
Threadersteller
Dabei seit: 14.02.2005
Ort: Dresden
Alter: 39
Geschlecht:
|
Verfasst Di 26.04.2005 15:19
Titel PHP Problem mit SWITCH-Befehl |
|
|
hallo werte progger,
ich habe gerade ein problem mit einer switchanweisung und komme nicht damit zurande bzw. versteh nicht, warum es nicht geht.
zum prob: habe in einer mysql-tabelle daten stehen, welche auch eine spalte mit dem titel "monat" beinhaltet. dort drin stehen die werte "01" bis "12" - halt den monaten entsprechend. in meinem php-skript lese ich diese dann mit einer switchanweisung aus:
Code: |
$monat_zahl = "08"; // hab jetzt einfach mal ne statische zahl genommen
switch($monat_zahl)
{
case 01:
$monat = "Januar";
break;
case 02:
$monat = "Februar";
break;
case 03:
$monat = "März";
break;
case 04:
$monat = "April";
break;
case 05:
$monat = "Mai";
break;
case 06:
$monat = "Juni";
break;
case 07:
$monat = "Juli";
break;
case 08:
$monat = "August";
break;
case 09:
$monat = "September";
break;
case 10:
$monat = "Oktober";
break;
case 11:
$monat = "November";
break;
case 12:
$monat = "Dezember";
break;
default:
$monat = "-Fehler-";
break;
}
|
jedefalls klappts bei allen werten supi mit der monatsausgabe. nur leider bei "08" und "09" springt der switcher immer in den default-wert.
gibts da irgendeinen phpinternen bug, der mich daran hindert oder bin ich einfach ma wieder blind und hab irgendwas übersehn?
für rasche hilfe bin ich euch sehr verbunden
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 26.04.2005 15:24
Titel
|
|
|
das is sehr einfach.
wenn du ne zahl mit 0 einleitest, isse ne oktalzahl. ne oktalzahl kann nur ziffern zwischen 0 und 7 enthalten.
|
|
|
|
|
Anzeige
|
|
|
mayo
Threadersteller
Dabei seit: 14.02.2005
Ort: Dresden
Alter: 39
Geschlecht:
|
Verfasst Di 26.04.2005 15:27
Titel
|
|
|
also doch nen bug!
danke für die rasche antwort... muss ich mir wat andres einfallen lassen
|
|
|
|
|
Glas
Dabei seit: 24.05.2003
Ort: Bremen
Alter: 41
Geschlecht:
|
Verfasst Di 26.04.2005 15:32
Titel
|
|
|
Wieso was anders einfallen lassen?
Nimmst halt keine Oktalzahlen ... selbige werden halt, wie gtz gesagt hat, durch die führende "0" angedeutet; und es existieren halt nur 0 bis 7.
Nimmste "normale" Dezimalzahlen, gehts doch ...
Zuletzt bearbeitet von Glas am Di 26.04.2005 15:32, insgesamt 1-mal bearbeitet
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 26.04.2005 15:32
Titel
|
|
|
warum tust du beim monat nich einfach n stinknormales integer rein?
|
|
|
|
|
eViLaSh
Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht:
|
Verfasst Di 26.04.2005 15:33
Titel
|
|
|
versuchs doch mal mit timestamp ?
|
|
|
|
|
thaBeat
Dabei seit: 10.01.2003
Ort: nürnberg
Alter: -
Geschlecht:
|
Verfasst Di 26.04.2005 15:38
Titel
|
|
|
btw: warum so kompliziert?
dein code Code: | $monat_zahl = "08"; // hab jetzt einfach mal ne statische zahl genommen
switch($monat_zahl)
{
case 01:
$monat = "Januar";
break;
case 02:
$monat = "Februar";
break;
case 03:
$monat = "März";
break;
case 04:
$monat = "April";
break;
case 05:
$monat = "Mai";
break;
case 06:
$monat = "Juni";
break;
case 07:
$monat = "Juli";
break;
case 08:
$monat = "August";
break;
case 09:
$monat = "September";
break;
case 10:
$monat = "Oktober";
break;
case 11:
$monat = "November";
break;
case 12:
$monat = "Dezember";
break;
default:
$monat = "-Fehler-";
break;
} |
zweizeilig, selbes ergebniss: Code: |
$m = array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
$monat = (trim($m[$monat_zahl]))?$m[$monat_zahl]:'-Fehler-';
|
da müssten die zahlen halt auf jeden fall dezimal sein...
|
|
|
|
|
karmacoder
Dabei seit: 15.04.2002
Ort: Fürth
Alter: 42
Geschlecht:
|
Verfasst Di 26.04.2005 15:52
Titel
|
|
|
warum nicht lieber sowas...
Code: |
setlocale(LC_ALL, 'de_DE');
$monat = strftime('%B', mktime(0, 0, 0, $monat_zahl, 0, 2005);
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
Problem mit dem php switch
Include Switch Problem
PHP "switch-case"-Problem
css switch
[php] switch für anfänger
Switch Case?
|
|