Ja, men det senare är mer läsbart.
Hejsan
En kort fråga bara...
Är
$x = ($y == $z) ? '3' : '4';
funktionelt identiskt med
if($y == $z)
$x = '3';
else
$x = '4';
?
/D
5 svar · 489 visningar · startad av drew
Hejsan
En kort fråga bara...
Är
$x = ($y == $z) ? '3' : '4';
funktionelt identiskt med
if($y == $z)
$x = '3';
else
$x = '4';
?
/D
Ja, men det senare är mer läsbart.
Ja det är samma sak. Men jag vet inte om jag håller med om att den senare är mera läsbar. Den första tar ju bra mycket mindre rader kod..
Den första varianten är mycket användbar i andra fall, exempelvis såhär:
echo 'Det finns just nu ', (count($messages)>0) ? $count($messages) : 'inga', ' meddelanden att visa.';
Jämfört med:
echo 'Det finns just nu ';
if (count($messages)) {
echo 'inga';
} else {
echo count($messages);
}
echo 'meddelanden att visa.';
bratanon skrev:
Ja det är samma sak. Men jag vet inte om jag håller med om att den senare är mera läsbar. Den första tar ju bra mycket mindre rader kod..
Ja och det gör den inte mer läsbar av den anledningen.
bratanon skrev:
Ja det är samma sak. Men jag vet inte om jag håller med om att den senare är mera läsbar. Den första tar ju bra mycket mindre rader kod..
Tja, det går ju att skriva det i "talform" såhär:
$x = ($y == $z) ? '3' : '4';
Tilldela variabeln x om y är lika med z värdet '3', annars värdet 4.
(Klockren svenska...)
if($y == $z)
$x = '3';
else
$x = '4';
Om y är lika med z tilldela x värdet 3 annars tilldela x värdet 4.
Vet inte vilken du skulle föredra att skriva på svenska. Eller annat valfritt fonetiskt språk.
Vid körning är de identiska.