switch ($xxxxx)
{
case xxxxx:
switch($yyyyy)
{
case yyyyy:
nånting här
break;
case zzzzz:
nånting här
break;
}
break;
case yyyyy:
switch ($zzzzz)
{
case xxxxx:
tralala
break;
case yyyyy:
tralala
break;
}
break;
}
Ser säkert jätte rörigt ut, men så blir det, finns säkert smartare sätt också.
$a = "kalle";
$b = "ada";
switch ($a && $b)
{
case ($a == "kalle" && $b == "ada"):
echo "Det stämmer";
break;
case ($a == "pelle" && $b == "ada"):
echo "Men detta ska ju inte komma ut ju";
break;
default:
echo "Default.";
}
Detta fungerade precis som Matte sa.
Dock fattar jag inte varför det ska vara '&&' istället för ',' som man alltid använder annars (alltså när man skickar in variablerna)?
Kan ni förklara det?
Därför att i detta fallet utnyttjar du inte switch funktionen!
switch( $a && $b ) är alltid uppfylt så länge $a och $b inehåller någonting (värdet SANT).
Sedan i varje case sats blir värdet av dina uttryck SANT, vilket du sedan testar mot uttrycket i swicth() satsen.
Det hadde varit enklare och mera logiskt att i detta fallet använda:
if($a == "kalle" && $b == "ada") then {
echo "Det stämmer";
} elseif ($a == "pelle" && $b == "ada") then {
echo "Men detta ska ju inte komma ut ju";
} else {
echo "Default.";
}
Alltså switch() satsen är onödig eftersom du ändå beräknar saker i case satserna.
Vitsen med switch() är att man beräknar något som resulterar ett svar, sedan jämför man detta enda svar med ett antal case satser.
gunnar varför har du med then i if-satserna? det behövs väl inte eller är det bara något jag missat?
är inte
if($a == "kalle" && $b == "ada") then {
echo "Det stämmer";
} elseif ($a == "pelle" && $b == "ada") then {
echo "Men detta ska ju inte komma ut ju";
} else {
echo "Default.";
}
samma som
if($a == "kalle" && $b == "ada") {
echo "Det stämmer";
} elseif ($a == "pelle" && $b == "ada") {
echo "Men detta ska ju inte komma ut ju";
} else {
echo "Default.";
}
Aaaaah, kristallklart.
Fanken vad man vecklar in sig när man har ställt in sig på att använda en funktion, fast man sedan ska ha in lite mera info så omvärderar man inte situationen. E det tunnelseende det heter? :r
Aber ja natürlisch ska jag använda if-satser istället.
ASP? knappast :e
Däremot hoppar jag mellan shellscripts, php, c/c++ och perl dagligen. Nu skall jag börja "leka" med Java/J2EE så jag får se vilken röra jag hamnar i.
Varför kan inte syntaxen se samma ut i dom olika språken? :OO
678 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e