Ben echo $foo
veya echo $bar
gerekir. Çılgın hile mi? :)
cevap
<?=(expression) ? $foo : $bar?>
düzenleme: here's a good read for you on the topic
düzenleme: ternary operator ilk TRUE
olarak değerlendirilirse ikinci ifade değerine değerlendirir ve ilk olarak değerlendirilirse, üçüncü ifadesi değerlendirilirse more to read
Parantez gereksizdir – Phil
Siz efendim, haklısınız. Burada gerçekten çok fazlalık var. Ama unutmayın ki, bazen ifade karmaşık olabilir, bu yüzden ekstra parantezler. – Dave
PHP'nin koşullu ifadeyi değerlendiremediğini hiç görmedim, ne kadar karmaşık olursa olsun, parantezleri bir çift parantez koyar – Phil
echo ifadesi? $ foo: $ bar;
FALSE
. echo
için bir değer veya diğerine, üçlü ifadeyi echo
ifadesine geçirmeniz yeterlidir.
echo expression ? $foo : $bar;
Daha fazla detay için PHP kılavuzunda üçlü operatör hakkında daha fazla bilgi: * steno eğer *, http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary
* Üçlü ifadesi * değil. Burada asıl soru nedir? – Phil
eko ifadesi? $ foo: $ bar; –
@Phil: * Koşullu ifade *, değil * üçlü deyim *. :) Bu bir deyim, "echo" dallarda çalışacaktı. Ve üçüncüsünü çağırmaktan kurtulabilmenin tek nedeni, şu anda sadece bir üçlü operatörün olmasıdır. "Üçlü" anlamı üç ile alakalı olmakla birlikte ... bu çok yardımcı bir isim değil. :) – cHao