[php] funkcja switch


(rozwalkompa) #1

Już nie wiem co mam robić.

Mam funkcję switch:

switch ($co) {

case 01: $month=$m1.':'; break;

case 02: $month=$m2.':'; break;

case 03: $month=$m3.':'; break;

case 04: $month=$m4.':'; break;

case 05: $month=$m5.':'; break;

case 06: $month=$m6.':'; break;

case 07: $month=$m7.':'; break;

case 08: $month=$m8.':'; break;

case 09: $month=$m9.':'; break;

case 10: $month=$m10.':'; break;

case 11: $month=$m11.':'; break;

case 12: $month=$m12.':'; break;

};

i dla większości wstawia dobre dane, tylko w 08 i 09 nie. Wartość $m8 pokazuje się po podaniu $co jako 0.

Ktoś ma pomysł co jest nie tak? Przecież kod jest identyczny dla pozostałych wartości i działa poprawnie.

Z góry dziękuję za pomoc, pozdrawiam


(Anddezr+Dobreprogramy Pl) #2

Wkleiłeś kawałek jakiegoś kodu, w dodatku poprawny i co dalej? Mamy zgadywać co to jest $co, $month itd?


(rozwalkompa) #3

To nie istotne, czym jest $co i $month.

Właśnie wiem, że kod jest poprawny, ale nie działa prawidłowo.

A skoro reszta kodu działa z 01,02,03,04,05,06,07,10,11,12 to czemu akurat z 08 i 09 nie?

$co jest pobierane z linku (GET), przy zmianie na 0 wypisuje $m8 (czyli dobrze przypisuje, tylko przy złym warunku).

Dalej jest wypisanie $month, no i dla 08 i 09 nic nie wypisuje.


(Anddezr+Dobreprogramy Pl) #4

Zamiast case:08 daj case:010, zamiast case:09 daj case:011 i zadziała plik.php?co=8

Więcej: http://php.mirror.camelnetwork.com/manu ... .php#76591

Na przyszłość googluj :slight_smile:


(rozwalkompa) #5

Aha. Nie wpadłbym na to, dzięki!

(Ciekawe jaki zapytanie miałem wpisać w Google?)


(Anddezr+Dobreprogramy Pl) #6

Normalne, ja kosmicznego nie pisałem, php switch case:8 case:9 :slight_smile:


(Marek Ciarkowski) #7

Tak btw. po jakiego Tobie ten switch do sprawdzania jakiejś wartości skoro i tak się odwołujesz do innej z identycznym numerem

case 01: $month=$m1.':'; break;

Nie łatwiej sprawdzić tylko czy istnieje a potem coś do czegoś przypisać z numeracją ?


(rozwalkompa) #8

Tak mi bardziej pasowało :slight_smile: bo te m1, m2 to nazwy miesięcy, ale w 3 wersjach językowych (odpowiednio przypisane wcześniej) i switch zmienia 01,02 na nazwy miesięcy, ot cały script.

W szkole powinni uczyć jak pytać Google, żeby znaleźć potrzebne informacje :slight_smile:

Dziękuję za pomoc, wszystko działa :smiley: