Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> nie działa instrukcja switch???
Citral
post
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
Go to the top of the page
+Quote Post
Ive
post
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]
Go to the top of the page
+Quote Post
Citral
post
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]

questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?
Go to the top of the page
+Quote Post
BzikOS
post
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]
Go to the top of the page
+Quote Post
Citral
post
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]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:22