![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod:
No i niestety, gdy go skompiluję, wyświetla mi się kod: Dzień dobry, pomimo tego, że $godzina=125. Co zrobiłem źle z tym kodem? A moze instrukcja switch nie obsługuje polecenia and? Ten post edytował Początkujący 27.08.2010, 15:15:06 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Do manuala
http://pl2.php.net/manual/en/control-structures.switch.php http://pl2.php.net/manual/en/control-structures.if.php Bo to co masz wynika z twoich braków z wiedzy opisanej w byle jakim podstawowym kursie. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dopiero co zacząłem uczyć się php.
Przerabiam lekcję dotyczącą switcha i postanowiłem zrobić własny kod na podstawie zdobytej wiedzy. Dotychczas nigdy nie korzystałem z manuala, a teraz nie znalazłem w nim interesującej informacji. Wiem, że za pomocą funkcji if mógłbym to zrobić, ale chcę po prostu zobaczyć, jak można to zrobić za pomocą funkcji switch. Bo chyba nie trzeba wpisywać kilkadziesiąt razy case z kolejnymi godzinami, żeby funkcja switch działała prawidłowo? Edycja: teraz działa, wystarczyło usunąć breaki ![]() Ten post edytował Początkujący 27.08.2010, 15:31:28 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Edycja: teraz działa, wystarczyło usunąć breaki ![]() Breaki nie mają z tym nic wspólnego. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Rozwiązanie troche inne, lecz działa.
Ten post edytował minolone 27.08.2010, 17:30:12 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 5 Dołączył: 7.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Na początek 1 linijka. == To operator porównania, tym = przypisuje się wartość. Więc zamiast '==' ma być '='. Zamiast 'and' lepiej używać operatora '&&'. I jeszcze jedno, masz:
a po po sekcji case powinien być dwukropek (:), nie średnik (;). Mam jeszcze uwagę co do wydajności kodu. Zamiast cudzysłowów (") należy używać operatora konkatenacji tzn. łączenia tekstu z czymkolwiek innnym(.). W takim wypadku zamiast:
byłoby:
Po prostu w cudzysłowach parser PHP szuka zmiennych, i innych typów danych, a w apostrofach nie szuka nic. Ten post edytował Webmasterr 27.08.2010, 16:25:44 -------------------- Darmowe e-booki (kliknij tutaj) ------------------------------------------------------------ Zapunktuj (kliknij tutaj) <--- Zarejestruj się i zobacz! Darmowe doładowania telefonu, Eurogąbki itp. ------------------------------------------------------------ PHP 5, CSS 2.1, xHTML 1.1, JavaScript 1.7 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za porady. Jednak Po case dałem dwukropki, usunąłem operator porównywania w zmiennej godzina. I niestety dalej nie działa. Chcę to zrobić na switchu, żeby zapoznać się ze schematem robienia instrukcji w nim. Jednak dalej wyświetla dzień dobry, zamiast "ta godzina to zła godzina".
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Kumam jeden może nie umieć ale dwóch pod rzad?
DLACZEGO WASZE CASE-Y SĄ STRINGAMI wyrażeń logicznych? Nie dość, że nie czytacie manuala to nawet jak czytacie to wymyślone bzdety wstawiacie
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Działa. Wookieb, możesz wyjaśnić, w jakich sytuacjach bo case powinien być apostrof/cudzysłów, a w jakich nie?
Bo z tego " The statement list for a case can also be empty, which simply passes control into the statement list for the next case. " nie bardzo rozumiem. Z gory dzięki |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
To co masz jest specyficznym przypadkiem. Poczytaj o wyrażeniach logicznych.
Wynik "case" musi być równy temu co podajesz do switch-a. -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 5 Dołączył: 7.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Sorki za błąd. Pisałem na szybko, ale trzeba będzie to powtórzyć...
-------------------- Darmowe e-booki (kliknij tutaj) ------------------------------------------------------------ Zapunktuj (kliknij tutaj) <--- Zarejestruj się i zobacz! Darmowe doładowania telefonu, Eurogąbki itp. ------------------------------------------------------------ PHP 5, CSS 2.1, xHTML 1.1, JavaScript 1.7 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:06 |