Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] przekształcanie elseif w switch/case
Radek41
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 28.11.2009

Ostrzeżenie: (0%)
-----


Witam,
zrobiłem taki banalny skrypt, który porównuje liczbę 600, zapisaną w zmiennej $aktualna ze wprowadzoną wartością $pkt i następnie pokazuje jak $aktualna się zmieniła.

Wygląda to tak

  1. <?
  2. $aktualna = 600;
  3. $pkt = $_POST['pkt'];
  4. $zmiana = $pkt - $aktualna;
  5. $suma = $aktualna + $zmiana;
  6.  
  7. if ($pkt == "") echo '';
  8. elseif ($pkt > $aktualna) echo 'Punktow '.$suma.' (<b><span style="color: green;">+'.$zmiana.'</span></b>).';
  9. elseif ($pkt < $aktualna) echo 'Punktow '.$suma.' (<b><span style="color: red;">'.$zmiana.'</span></b>).';
  10.  
  11. ?>


I wszystko dla mnie jest OK, osiągnąłem oczekiwany przeze mnie efekt.

Ale nurtuje mnie czy można to samo zapisać wykorzystując instrukcję warunkową switch/case.

Wykombinowałem coś takiego, co działa źle.

  1. <?
  2. $aktualna = 600;
  3. $pkt = $_POST['pkt'];
  4. $zmiana = $pkt - $aktualna;
  5. $suma = $aktualna + $zmiana;
  6.  
  7. switch ($pkt) {
  8. case $pkt == "":
  9. echo '';
  10. case $pkt > $aktualna:
  11. echo 'Punktow '.$suma.' (<b><span style="color: green;">+'.$zmiana.'</span></b>).';
  12. case $pkt < $aktualna:
  13. echo 'Punktow '.$suma.' (<b><span style="color: red;">'.$zmiana.'</span></b>).';
  14. }
  15. ?>



I teraz moje pytanie - czy powyższą instrukcję zapisaną za pomocą elseif można w jakiś sposób zapisać wykorzystując switch/case? A jeśli tak, to w jaki sposób poprawić to co napisałem wyżej?

Dziękuję z góry,
Pozdrawiam

Ten post edytował Radek41 30.01.2010, 18:23:27
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 23.08.2025 - 22:51