2. Ucze sie obecnie php i natrafilem na pewien problem ktory nie daje mi spokoju (teoretycznie moglbym olac i isc dalej z materialem ale cholernie mnie zaintrygowal...)
3. Problem polega na tym ze jest sobie funkcja oraz kod ja testujacy:
<? // kod sprawdzajacy dzialanie funkcji zamieniajacej zwracana wartosc date() na polskie odpowiedniki w postaci wyrazow function konwersja ($miesiac){ // zadeklarowanie funkcji 'konwersja' która zamieni wartosci 00-12 na slowa switch ($miesiac) { case '01' : $miesiac='styczen' ; break; case '02' : $miesiac='luty' ; break; case '03' : $miesiac='marzec' ; break; case '04' : $miesiac='kwiecień'; break; case '05' : $miesiac='maj' ; break; case '06' : $miesiac='czerwiec' ; break; case '07' : $miesiac='lipiec' ; break; case '08' : $miesiac='sierpien' ; break; case '09' : $miesiac='wrzesien' ; break; case '10' : $miesiac='pazdziernik' ; break; case '11' : $miesiac='listopad' ; break; case '12' : $miesiac='grudzien' ; break; default : $miesiac = 'blad'; break; } return $miesiac; } //przypisanie do zmiennej wyniku konwersji i pozniej wyswietlenie w dolnym wierszu
//aktualnego miesiaca zamienionego na slowo(print na koncu) print (konwersja(01) . konwersja(02) . konwersja(03) . konwersja(04) . konwersja(05) . konwersja(06) . konwersja(07) . konwersja(08) . konwersja(09) . konwersja(10) . konwersja(11) . konwersja(12)); // sprawdzenie wszystkich mozliwosci zamiany czyli od 00-12 //puszczenie wyniku w zmiennej $test ?>
Dzialanie tego kodu jest takie: switch przyporzadkowuje wyrazeniom 00-12 slownie miesiace a potem jest wyswietlane slowo dla kazdej wartosci obslugiwanej przez switch. Wszystko pieknie ale to jest wyjscie jakie sie pokazuje na ekranie po odpaleniu:
styczenlutymarzeckwiecieńmajczerwieclipiecbladbladpazdzierniklistopadgrudzien
sierpien
pierwszy wiersz to kolejno dzialanie funkcji konwersja na podane wartosci 01 02...itd
na 08 i 09 gdzie powinien byc sierpien i wrzesien switch nie rozpoznaje z jakiegos magicznego dla mnie narazie powodu wartosci i leci do defaulta wyrzucajac na ekran slowo 'blad'
ale - jak wyciagne to '08' z funkcji date(m) to dziala - co jest pokazane wiersz nizej w wyniku....
probuje dojsc juz od 3h co moze byc przyczyna tego zachowania i niedaje mi to spokoju bo jak na takim prostym skrypcie pakuje sie na taki znajac zycie trywialny blad to przy trudniejszych i skomplikowanych bede wlosy rwal z glowy a nie dojde do rozwiazania....
ten skrypt nie ma jakiegos specjalnego sensu - ucze sie na nim. chce sie dowiedziec co spieprzylem ze wybiorczo jest przekazywana zmienna $miesiac do switcha...
Calosc testuje na najnowszym krasnalu (www.krasnal.tk) pod win98se
TIA
pozdrawiam