Jaki jest najlepszy, preferowany sposób piśmie, jeśli skrótem jednego-liner, takich jak:PHP, jeśli skrót i echo w jednej linii - możliwe?
expression ? $foo : $bar
zwrot akcji: muszę echo $foo
lub echo $bar
. Jakieś szalone sztuczki? :)
Jaki jest najlepszy, preferowany sposób piśmie, jeśli skrótem jednego-liner, takich jak:PHP, jeśli skrót i echo w jednej linii - możliwe?
expression ? $foo : $bar
zwrot akcji: muszę echo $foo
lub echo $bar
. Jakieś szalone sztuczki? :)
<?=(expression) ? $foo : $bar?>
Edycja: here's a good read for you on the topic
Edycja: more to read
Nawiasy są zbędne – Phil
Ty, sir, masz rację. Rzeczywiście są tutaj niepotrzebni. Należy jednak pamiętać, że czasami wyrażenie może być złożone, a więc dodatkowe nawiasy. – Dave
Nigdy nie widziałem, żeby PHP nie oceniało wyrażenia warunkowego, bez względu na to, jak skomplikowane, nie ma pary nawijających nawiasów – Phil
wyrażenie echa? $ foo: $ bar;
ternary operator którego wartość jest wartością drugiego ekspresji jeśli pierwsza ocenia się TRUE
i ocenia trzeciego ekspresji, jeżeli pierwszy ocenia się FALSE
. Aby uzyskać echo
jedną lub drugą wartość, wystarczy przekazać wyrażenie potrójne do instrukcji echo
.
echo expression ? $foo : $bar;
Czytaj więcej o potrójnym operatora w podręczniku PHP więcej szczegółów: http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary
* trójskładnikowych oświadczenie * nie * skrótowym jeśli *. Jakie jest aktualne pytanie? – Phil
wyrażenie echa? $ foo: $ bar; –
@Phil: * Wyrażenie warunkowe *, a nie * trójskładnikowe *. :) Gdyby to stwierdzenie, "echo" działałoby w gałęziach. Jedynym powodem, dla którego możesz odejść, nazywając to potrójnym, jest to, że obecnie jest tylko jeden operator trójskładnikowy. "Ternary" oznacza, że ma się do czynienia z trzema, chociaż ... nie jest to bardzo pomocne imię. :) – cHao