Svår-enkel If-sats :-)

PHP

6 svar · 236 visningar · startad av Marcus

Medlem sedan juli 2000449 inlägg
Trådstart#1

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?

Medlem sedan juni 2000310 inlägg
#2

Du måste skriva så här:

if ($level == 10 || $level == 14 || $level == 19):
echo "Hej";
elseif: 
echo "Hej då";
endif;
Medlem sedan maj 20001 953 inlägg
#3

Ä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;
}
Medlem sedan dec. 19991 749 inlägg
#4

Nej en switch är onödigt här. Det blir för mycket upprepad kod.

Medlem sedan juli 2000449 inlägg
#5

Tackar. Jag är er evigt tacksamma :-)

Slipper jag slita mer hår för en sån sak. :-)

Medlem sedan maj 20001 953 inlägg
#6

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?

Medlem sedan dec. 19991 749 inlägg
#7

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.

255 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)