andi123: verkürzte if-Anweisung?

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

  1. 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.

    --
    <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
  2. 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

    1. Die Antwort auf beide Fragen stehen auch in der FAQ:
      http://www.dclp-faq.de/q/q-string-print.html
      ;-)

      Vielen Dank!

  3. 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

    --
    ss:| zu:} ls:[ fo:} de:] va:} ch:) sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}