verkürzte if-Anweisung?
andi123
- php
0 Z.N.S.0 Thomas Luethi0 andi123
0 Johannes Zeller
Hallo,
ich suche nach der Syntax fuer die verkuerzte IF-Anweisung.
Habe das hier gefunden:
echo (( test == 1 ) ? "true" : "false");
aber auch
( test == 1 ) ? echo "true" : echo "false";
Letztere Anweisung geht bei mir nicht.
Ausserdem: kann ich irgendwie den FALSE-Zweig auch leerlassen?
Danke Andi
abend,
Hallo,
ich suche nach der Syntax fuer die verkuerzte IF-Anweisung.
Habe das hier gefunden:echo (( test == 1 ) ? "true" : "false");
aber auch
( test == 1 ) ? echo "true" : echo "false";
Letztere Anweisung geht bei mir nicht.Ausserdem: kann ich irgendwie den FALSE-Zweig auch leerlassen?
Danke Andi
was ist "test" ? da fehlt ein $!!
mfg,
(tanz das)
Z.N.S.
Hallo,
( test == 1 ) ? echo "true" : echo "false";
Letztere Anweisung geht bei mir nicht.
Nimm print() statt echo.
Und wenn Du nicht vorher eine Konstante namens test
definiert hast, schreib ($test==1)...
Ausserdem: kann ich irgendwie den FALSE-Zweig auch leerlassen?
Ja. Mit null;
Die Antwort auf beide Fragen stehen auch in der FAQ:
http://www.dclp-faq.de/q/q-string-print.html
;-)
Gruesse,
Thomas
Die Antwort auf beide Fragen stehen auch in der FAQ:
http://www.dclp-faq.de/q/q-string-print.html
;-)
Vielen Dank!
Hallo Andi
ich suche nach der Syntax fuer die verkuerzte IF-Anweisung.
Guckst du hier: http://de.php.net/manual/en/language.operators.comparison.php.
( test == 1 ) ? echo "true" : echo "false";
Letztere Anweisung geht bei mir nicht.
Das ist volkommen in Ordnung. Ein Operator erwartet immer einen bzw. mehrere Ausdrücke (expressions) auf den er angewendet wird. Ausdrücke sind laut manual[1] "anything that has a value". echo gibt, im Gegensatz zu print, keinen Wert zurück. Daher ist echo "true" kein Ausdruck.
Ausserdem: kann ich irgendwie den FALSE-Zweig auch leerlassen?
Nicht wirklich. echo (($test==1) ? 'true' : ''); würde aber in diesem Fall dazu führen, dass echo einen leeren String ausgibt.
Schöne Grüße,
Johannes
[1] http://de.php.net/manual/en/language.expressions.php