![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 16.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
1. Jako ze jestem nowym userem na forum - witam wszystkich:)
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:
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
albo zmien swictch na 1,2,
i wywoluj metode:konwersja(0), konwersja(1) albo wywowulj tak jak jest w swicth, czyli konwersja('00'), konwersja('08'). Widzisz różnicę? Polecam pierwszys sposób |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 16.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
no ale problem jest wlasnie ze jest podawane tak jak powinno byc tzn:
konwersja (08) i jak przy innych (01-07 oraz 10-12) to dziala tak przy 08 i 09 switch nie rozpoznaje tych wartosci - nad tym sie tak zasadzam bo obejsc to mozna ale nie jest dla mnie wazne zrobienie zeby ten kod dzialal - bo to szkoleniowy szkic - tylko zrozumienie dlaczego nie dziala. analizowalem literka po literce kod i nie znalazlem nic co moim zdaniem jest nie tak. Stad owa moja frustracja ze powinno dzialac a ta sie zawziela i dziala wybiorczo:) |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to chyba ci podalem rozwiązanie 2).
W switch dajesz w ciapkach '08'. Do funkcji zapodajesz ala integer 08, który jest konwertowany jakoś smiesznie i twoj switch nie ma go w wwarunku. Musisz walic do funkcji tekst (bo w switch tekst sprawdzasz) '08' Funkcja date('m') też zwraca tekst '08' a nie 08. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 16.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
ok teraz sie przyjrzalem i wsadzilem w apostrofy wartosci i dziala
co prawda nadal nie wiem czemu wartosci inne niz 08 i 09 sa rozpoznawane poprawnie a te nie ale szkoda narazie na to czasu - ide dalej z materialem. dziekuje za pomoc:) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 23:30 |