Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Switch case wiele warunków jedna wartość
@rtur
post 25.05.2011, 16:21:28
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


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;}


--------------------
Artur
Go to the top of the page
+Quote Post
mat-bi
post 25.05.2011, 16:25:16
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


A w czym problem?
Go to the top of the page
+Quote Post
@rtur
post 25.05.2011, 16:36:48
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


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.

Ten post edytował @rtur 25.05.2011, 16:37:15


--------------------
Artur
Go to the top of the page
+Quote Post
ixpack
post 25.05.2011, 16:42:24
Post #4





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


Możesz dać
  1. <?php
  2.  
  3. switch($kupa)
  4. {
  5. case '1': case '2': case '3':
  6. echo $kupa;
  7. break;
  8. }
  9. ?>


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
konole
post 25.05.2011, 19:00:49
Post #5





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 21.03.2006
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Switch wykonuje się do momentu "break;"
Go to the top of the page
+Quote Post
ixpack
post 25.05.2011, 20:29:25
Post #6





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


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)

Ten post edytował ixpack 25.05.2011, 20:32:27


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Daiquiri
post 25.05.2011, 20:40:13
Post #7





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




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?
Go to the top of the page
+Quote Post
konole
post 25.05.2011, 20:55:23
Post #8





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 21.03.2006
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


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...

Ten post edytował konole 25.05.2011, 21:22:45
Go to the top of the page
+Quote Post
Daiquiri
post 25.05.2011, 21:07:56
Post #9





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




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.
Powód edycji: [Daiquiri]: Edit
Go to the top of the page
+Quote Post
ixpack
post 25.05.2011, 21:12:38
Post #10





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


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 :/

Ten post edytował ixpack 25.05.2011, 21:15:23


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Mackos
post 25.05.2011, 21:54:33
Post #11





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


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 ?


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:37