Du måste skriva så här:
if ($level == 10 || $level == 14 || $level == 19):
echo "Hej";
elseif:
echo "Hej då";
endif;
6 svar · 236 visningar · startad av Marcus
Jag vill göra en if-sats som kollar om $level = 10 eller 14 eller 19 eller 24. Om $level är likamed något av dessa tal så vill jag att man ska komma vidare.
Jag testade att skriva så här, men det blev fel:
if ($level == 10 || 14 || 19):
echo "Hej";
elseif:
echo "Hej då";
endif;
Kan någon hjälpa mig?
Du måste skriva så här:
if ($level == 10 || $level == 14 || $level == 19):
echo "Hej";
elseif:
echo "Hej då";
endif;
Är det inte lättare att använda en switch?
switch($level){
case "10":
echo "Hej";
break;
case "14":
echo "Hejdå";
break;
case "19":
echo "Hejdå igen";
break;
case "24":
echo "blalbal";
break;
}
Nej en switch är onödigt här. Det blir för mycket upprepad kod.
nanne: Finns det nån "tumregel" för när man skall använda antingen det ena eller det andra?
Eller är det bara till att försöka tänka på vilket som blir minst kod?
Jag tycker att man ska ta det som en tumregel att "optimera" medans man kodar. Inte för att scriptet här skulle rulla snabbare (skilladen är nog marginell) men för att "öva" upp sig i enklare metoder. Jag är lat och vill koda fort. En Case sats skulle tagit mycket längre tid att programmera än den enkla if satsen. Sen så blir det mindre rader kod att debugga senare (ju mindre kod destå bättre).
Dessutom så övar man sig på metoder att koda som kan vara användbart i prestanda krävande applikationer.
Det är iaf vad jag tycker. Ni får gärna tycka motsatsen.