Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy w switch / case zakres działania
Forum PHP.pl > Forum > PHP
yivan
Czy w instrukcji switch/case można ustalić pewien zakres liczb tak aby podając parametr $t o wartości od 1 do 5 wykonywany byłby jeden blok kodu a np dla instrukcji 6,7,8 odpowiednio 3 różne bloki kodu? (+ ew. default)
Spirit86
  1. <?php
  2. switch($t)
  3. {
  4. case $t>0 AND $t<20: costam(); break;
  5.  
  6.  
  7. }
  8. ?>

spróbuj to
yivan
hmmm, życie stało się prostsze sleepysmiley03.gif
Pigula
  1. <?php
  2. switch ($t)
  3. {
  4.  case 0:
  5.  case 1:
  6.  case 2:
  7.  case 3:
  8.  case 4:
  9.  case 5:
  10.  //i tak dalej
  11.  case 19:
  12.  case 20: costam();
  13. break;
  14. }
  15. ?>
orson
witam ...

troszkę bardziej elastyczna jest konstrukcja z true:
  1. <?php
  2.  
  3. switch (true){
  4. case $var > 2 OR $var <= 22:
  5. do_smth();
  6. break;
  7.  
  8. case $var === '':
  9. smth_else();
  10. break;
  11. }
  12.  
  13. ?>

ale to tylko kwestia zapisu ... no i zapis z true jest jedynym sposobem żeby przy pomocy switch zrobić ze sprawdzaniem typów ... zwykły switch zawsze stosuje == ...

pozdrawiam
yivan
Dzieki orson za jeszcze jedną ciekawą podpowiedz.

Mam pytanie co do miejsca gdzie można znaleść tego typu sposoby uzycia swicza i nietylko samego swicza a też innych struktur kontrolnych? W moim manualu nie ma nic poza tym co podstawowe mad.gif



Pigula twoje rozwiazanie jest niepraktyczne, nieporadne i wogole fee tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.