![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 3.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam, czy ktoś ma może pomysł dlaczego nie działa takie coś
[php:1:ea6e945c13]<?php $koniec_wszystkiego = 0; $czoiser = 15; switch ($koniec_wszystkiego) { case $koniec_wszystkiego==$czoiser: print '<A HREF="ksiega.php?page=next&l='.$koniec_wszystkiego.'" class="link">- N E X T -</A>'; break; case $koniec_wszystkiego==0: print '<A HREF="ksiega.php?page=prev&l='.$prev_lines.'" class="link">- P R E V -</A>'; break; default: print '<A HREF="ksiega.php?page=prev&l='.$prev_lines.'" class="link">- P R E V</A> - - - <A HREF="ksiega.php?page=next&l='.$koniec_wszystkiego.'" class="link">N E X T -</A>'; } ?>[/php:1:ea6e945c13] mimo, że zmienne są różne to wykonywany jest kod z pierwszego wrunku gdy równe, na tomiast to działa bez problemu: [php:1:ea6e945c13]<?php $koniec_wszystkiego = 0; $czoiser = 15; if($koniec_wszystkiego==$czoiser) { print '<CENTER><FONT FACE="verdana" size="1"><A HREF="ksiega.php?page=next&l='.$koniec_wszystkiego.'" class="link">- N E X T -</A></FONT>'; **** } elseif($koniec_wszystkiego==0) { print '<CENTER><FONT FACE="verdana" size="1"><A HREF="ksiega.php?page=prev&l='.$prev_lines.'" class="link">- P R E V -</A></FONT>'; } else { print '<CENTER><FONT FACE="verdana" size="1"><A HREF="ksiega.php?page=prev&l='.$prev_lines.'" class="link">- P R E V</A> - - - <A HREF="ksiega.php?page=next&l='.$koniec_wszystkiego.'" class="link">N E X T -</A></FONT>'; } ?>[/php:1:ea6e945c13] co ciekawe jeśli w miejscu zaznaczonym przeze mnie gwiadkami, wyświetlę zawartość obu zmiennych to są różne, nie wiem o co chodzi |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
po 'default:' nie ma 'break;'
i jeszcze nie tak wygląda konstrukcja switch [php:1:a65ec6b6f2]<?php switch($koniec_wszystkiego) { case '0': //bla break; case 'costam': // bla break; } ?>[/php:1:a65ec6b6f2] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 3.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
cóż... nie napisałem przy default brake'a bo w książce jest bez brake'a, tak samo z tymi apostrofami (gruby book php4 od podstaw helionu). w każdym bądź razie nadal nie działa... przy wartościach czoiser i koniec wszystkiego, które są sobie równe wchodzi do warunku default zamiast do równości
[php:1:b6809cbdbd]<?php switch($koniec_wszystkiego) { case '$koniec_wszystkiego==$czoiser': { print '<CENTER><FONT FACE="verdana" size="1"><A HREF="ksiega.php?page=next&l='.$koniec_wszystkiego.'" class="link">- N E X T -</A></FONT>'; break; } case '$koniec_wszystkiego==0': { print '<CENTER><FONT FACE="verdana" size="1"><A HREF="ksiega.php?page=prev&l='.$prev_lines.'" class="link">- P R E V -</A></FONT>'; break; } default: { print '<CENTER><FONT FACE="verdana" size="1"><A HREF="ksiega.php?page=prev&l='.$prev_lines.'" class="link">- P R E V</A> - - - <A HREF="ksiega.php?page=next&l='.$koniec_wszystkiego.'" class="link">N E X T -</A></FONT>'; break; } } ?>[/php:1:b6809cbdbd] ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Jakaś dziwna ta ksiązka :|
[php:1:70a504b525]<?php switch($koniec_wszystkiego) { case $czoiser: { //... } break; case 0: { //... break; } default: { //... break; } } ?>[/php:1:70a504b525] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 3.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
teraz jest ok, to tak troche nie kumam jak działa ta instrukcja switch. wychodzi na to, że działa jeśli jako case podam konkretną wartość oczekiwaną pod "przełączaną" zmienną, w takim razie dlaczego mogę używać warunku typu $zmienna > 0 a nie moge $zmienna == $inna zmienna ? w książce jest przykład z ocenami za punktację i jest
[php:1:26df2d7fd3]<?php switch ($grade) { case $grade>70: echo "Dostałeś 6"; break; case $grade>60: echo "Dostałeś 5"; break; . . . case $grade>25: echo "Dostałeś 2"; break; default: echo$ "Nie zdałeś; ?>[/php:1:26df2d7fd3] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:22 |