Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Switch case wiele warunków jedna wartość
Forum PHP.pl > Forum > Przedszkole
@rtur
witam, mam coś takiego:

  1. switch ($_GET['s']) {
  2. case 'main': include_once('admin.main.php'); break;
  3. case 'admin-home': include_once('admin.main.php'); break;
  4. case 'admin': include_once('admin.main.php'); break;}

Jak widać wszystkie case includują ten sam plik, tak się zastanawiam, mogę to zapisać jakoś krócej?

np tak:

  1. switch ($_GET['s']) {
  2. case main:
  3. case admin-home:
  4. case admin:
  5. include_once('admin.main.php');
  6. break;}
mat-bi
A w czym problem?
@rtur
problemu nie ma tylko pytam czy taka składnia jest prawidłowa, nie uśmiecha mi się do każdego case z takim samym wyświetlanym tekstem dawać
  1. case 'string1': include_once('tresc.php'); break;
  2. case 'string2': include_once('tresc.php'); break;
  3. case 'string3': include_once('tresc.php'); break;

chciałem to jakoś sobie uprościć jeśli się da.
ixpack
Możesz dać
  1. <?php
  2.  
  3. switch($kupa)
  4. {
  5. case '1': case '2': case '3':
  6. echo $kupa;
  7. break;
  8. }
  9. ?>
konole
Switch wykonuje się do momentu "break;"
ixpack
Cytat(konole @ 25.05.2011, 19:00:49 ) *
Switch wykonuje się do momentu "break;"


Człowieku, co Ty za herezje piszesz? (Kochasz apple'a to chyba dlatego... Ja nie kocham - wręcz nie na wi dzę wink.gif hehe)

Switch ($zmienna) { - nawias KLAMROWY

case 'a': instrukcje;
break; - koniec CASE'a

default: instrukcje;
- nie potrzebny, ale ja daję
} - nawias klamrowy. Czyli switch wykonuje się do ostatniego case'a w nawiasach klamrowych.

Chyba że Ciebie nie rozumiem, a chodzi Ci case ...sobie działa... break; To zwracam honor, ale Apple śmierdzi i tak wink.gif (moja opinia)
Daiquiri
Cytat(ixpack @ 25.05.2011, 21:29:25 ) *
Człowieku, co Ty za herezje piszesz? (Kochasz apple'a to chyba dlatego... Ja nie kocham - wręcz nie na wi dzę wink.gif hehe)
(...) ale Apple śmierdzi i tak wink.gif (moja opinia)
Daruj sobie, OK?
konole
Cytat(ixpack @ 25.05.2011, 20:29:25 ) *
Człowieku, co Ty za herezje piszesz? (Kochasz apple'a to chyba dlatego... Ja nie kocham - wręcz nie na wi dzę wink.gif hehe)

Switch ($zmienna) { - nawias KLAMROWY

case 'a': instrukcje;
break; - koniec CASE'a

default: instrukcje;
- nie potrzebny, ale ja daję
} - nawias klamrowy. Czyli switch wykonuje się do ostatniego case'a w nawiasach klamrowych.

Chyba że Ciebie nie rozumiem, a chodzi Ci case ...sobie działa... break; To zwracam honor, ale Apple śmierdzi i tak wink.gif (moja opinia)
Odnoszę wrażenie, że rozmawiam z dzieckiem, nie z człowiekiem, który coś potrafi w PHP.

I naucz się najpierw, co się dzieje w danym wypadku, zanim zaczniesz się przyszczyć.

Kod
<?php
$a = 0;

switch($a)
{
    case '0':
    echo '0';
    
    case '1':
    echo '1';
    break;
    
    default:
    echo 'def';
}

?>


Result:
Kod
01



Edit: Aha, jeśli masz jakieś problemy z Applem, to pisz do nich, nie do mnie.
http://www.apple.com/support/contact/


@down - ixpack
Agresja? Człowieku, naskakujesz na obcą osobę, a potem masz jeszcze do niej pretensje, że jest agresywna? Co ty sobą prezentujesz...
Daiquiri
Koniec rozmowy o Apple Panowie, bo będą nagrody smile.gif.

@ixpack
No przecież prosiłam... naprawdę nie jest to po prostu temat o Apple. Prawda jest taka, że to Ty zacząłeś przepychankę z konole. "Śmierdzi" czy nie "śmierdzi" ma się nijak do switcha. Dlatego proszę - przenieście się na PW, albo skończcie.
ixpack
konole case ... instrukcje ... break; - ok nie zrozumiałem Cię, wywnioskowałem z Twojego zapisu, że switch kończy swoją pracę na 1szym breaku.
Sam proszę przeczytaj swoją ostatnią wypowiedź - mogłem Ciebie źle zrozumieć.

Co do Apple - przepraszam, jeżeli Ciebie uraziłem nic złego na myśli nie miałem, a broń Boże kogoś obrazić. Pół żartem/pół serio, choć fakt nie znam Ciebie i nie powinienem pisać jak "do ziomka" wink.gif

Ludzie skąd w was taka agresja?

Edit: wzmianka o jabłuszku napisana przed przeczytaniem warninga od moda :/
Mackos
Cytat(@rtur @ 25.05.2011, 17:36:48 ) *
problemu nie ma tylko pytam czy taka składnia jest prawidłowa, nie uśmiecha mi się do każdego case z takim samym wyświetlanym tekstem dawać
  1. case 'string1': include_once('tresc.php'); break;
  2. case 'string2': include_once('tresc.php'); break;
  3. case 'string3': include_once('tresc.php'); break;

chciałem to jakoś sobie uprościć jeśli się da.


No to nie możesz dać sobie:

  1. case 'string1': inna wartosc niz ta `glowna`; break;
  2.  
  3. default: include_once('tresc.php'); break;

Wtedy case bedzie wykonywany, domyślnie jako to co w default a przy wyznaczonych wartosciach bedzie robił coś innego...
Chyba o to Ci chodziło, tak ?
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.