16. juni 2006 - 11:27
Der er
9 kommentarer og 1 løsning
Switch (case) med og, eller
Jeg vil lige høre, er det muligt at have && eller || i en case? swtich($var) { case "byId" || "byName": {kode} break; }
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
nej, det går vist ikke. syntaksen er switch($var){ case "byId": case "byName": ..kode.. break; }
Heh, det hjalp jo ikke meget. Jeg må lave en test.
Kode: $modes = array("byId", "byName", "asSelect", "", null, "as", "Id", "Name", "Select"); print "<pre>"; print_r($modes); print "</pre>"; foreach($modes as $mode) { switch($mode) { case "mode": print "<p>mode => uses ".$mode."</p>"; break; case "mode1" || "mode2": print "<p>mode1 or mode2 => uses ".$mode."</p>"; break; default: print "<p>default => cannot use ".$mode."</p>"; } }
Print: Array ( [0] => byId [1] => byName [2] => asSelect [3] => [4] => [5] => as [6] => Id [7] => Name [8] => Select ) mode1 or mode2 => uses byId mode1 or mode2 => uses byName mode1 or mode2 => uses asSelect default => cannot use default => cannot use mode1 or mode2 => uses as mode1 or mode2 => uses Id mode1 or mode2 => uses Name mode1 or mode2 => uses Select
Det virker ikke som om php kan finde ud af String variabler i Switch strukturen.
Som morhan siger, er det forkert syntax. Da jeg fjernede || og satte det sådan her op virkde det 100% som forventet: Kode: <?php $modes = array("byId", "byName", "asSelect", "", null, "as", "Id", "Name", "Select"); print "<pre>"; print_r($modes); print "</pre>"; foreach($modes as $mode) { switch($mode) { case "mode": print "<p>mode => uses ".$mode."</p>"; break; case "mode1": case "mode2": print "<p>mode1 or mode2 => uses ".$mode."</p>"; break; default: print "<p>default => cannot use ".$mode."</p>"; } }?> Print: Array ( [0] => byId [1] => byName [2] => asSelect [3] => [4] => [5] => as [6] => Id [7] => Name [8] => Select ) default => cannot use byId default => cannot use byName default => cannot use asSelect default => cannot use default => cannot use default => cannot use as default => cannot use Id default => cannot use Name default => cannot use Select
morhan, hvis du vil have points, smider du bare et svar.
20. juli 2006 - 14:50
#10
lovgaard: du får ikke points, fordi det er i bund og grund en forkert måde at bruge en switch struktur på, selvom det måske kan lade sig gøre.
Vi tilbyder markedets bedste kurser inden for webudvikling