webForumDet fria alternativet

Har problem med komprimerad if-sats

PHPur PHP

4 svar · 214 visningar · startad av Type

TypeMedlem 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?

tydals avatartydalMedlem sedan juni 20034 013 inlägg
#2

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

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

TypeMedlem 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?

tydals avatartydalMedlem 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;
}

TypeMedlem 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;

132 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)