webForumDet fria alternativet

Har problem med komprimerad if-sats

PHPur PHP

4 svar · 214 visningar · startad av Type

Medlem sedan mars 20021 239 inlägg
Frågan#1

Hejsan!
Jag har en komprimerad ifsats som tex ser ut så här:

<?empty($var) ? dothis() : dothat();?>

om man inte vill göra nåt alls på true... dvs dothis() hur ska man då skriva?

Jag vill skriva nåt sånt här:

<?empty($var) ? : dothat();?>

... men det funkar inte

Hur ska jag skriva?

Medlem sedan juni 20034 013 inlägg
#2

Varför krångla till det när man inte behöver? :-)

<? if (!empty($var)) dothat(); ?>

Medlem sedan mars 20021 239 inlägg
#3

Ja, det kan man ju fråga sig :D

Men om man trots allt vill göra som jag menade... finns det något sätt? typ null eller void() eller nåt annat snyggt?

Medlem sedan juni 20034 013 inlägg
#4

Om man vill göra som du menar så använder man if. Frågetecknet är till för de stunder då man har två alternativ. Men framför allt är det användbart om du ska tilldela en variabel ett värde:

$test = ($a == $b) ? 3 : 2;

Medan om du använder if:

if ($a == $b)
{
$test = 3;
}
else
{
$test = 2;
}

Medlem sedan mars 20021 239 inlägg
#5

tydal: tack.

Jag förstår att jag inte visste vad jag pratade om.. eller det blev snarare knas... Det är som att säga...

if($tadam)
dothis();
else
//gör inget.

Och då känns det som att else är skapligt onödig... Tack för hjälpen!!! :birp;

140 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)