![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 30.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam pytanie odnosnie operacji na switch (o ile takie sa w ogole mozliwe). Caly schemat wyglada nastepujaco switch ($pytanie){ case 1: ...; break; case ...; case x: if (pytanie2) costam; else $pytanie=404; break; case 404: operacje w wyniku bledow; break; } czy jest mozliwe 'przeskoczenie' z CASE X w momencie, gdy pytanie2 jest nieprawdziwe, tak aby skrypt wykonal operacje przypisane CASE 404? Jesli nie, to sa jakies techniki, aby nie powielac kodu z CASE 404 w momencie wystapienia bledow przy innych wynikach $pytanie ? Ten post edytował ed3k 8.07.2008, 18:04:52 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
Mozesz wkleic - sprawdzilem i zdaje mi sie, ze dziala. Tylko pilnuj warunku i licznika.
Kod <?PHP
$pytanie = 304; // zaczynamy od tego $pytanie2= false; // jakis IF test rozgaleziajacy $warunek= false; // zabezpieczenie wyjscia z petli lub spelniony warunek testu $ctr = 0; // licznik na wszelki wypadek albo okreslona ilosc testow while( !$warunek || $ctr==5 ) { switch ($pytanie) { case 1: echo "case 1<BR>"; break; case 304: { echo "case 304<BR>"; if ($pytanie2) { echo "never here<BR>"; } else { $pytanie = 404; break 1; } } case 390: echo "case 390<BR>"; break; case 404: echo "case 404<BR>"; $warunek = true; // ! break; default: { echo "DEFAULT<BR>"; break; } } $ctr++; echo "Loop: ".$ctr."<BR>"; } echo "end<BR>"; exit; ?> Ten post edytował cbagov 8.07.2008, 22:55:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 01:48 |