Ankündigung

Einklappen
Keine Ankündigung bisher.

Alternative IF-Syntax

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Alternative IF-Syntax

    Hallo,
    mir ist gerade eben aufgefallen:
    PHP-Code:
    <?php
    $_gm 
    = ($gagtime 0) ? ( ($gagtime == 1) ? ' und 1 Minute' ' und ' $gagtime ' Minuten' );
    ?>
    Dies ist ja die alternative Syntax zur IF-Abfrage (hab den Namen gerade nicht im Kopf).
    Jedoch liefert mir das Ding einen Fehler - egal was ich mache (unexpected ';').
    Meine Frage nun, ist meine Syntax so korrekt? Oder beherrscht PHP diese Art von Verschachtelter alternativ-IF-Syntax (noch) nicht?


  • #2
    ich weiss es ehrlich gesagt nicht, aber vielleicht brauchst du ganz rechts noch einen Wert, oder geht die Standardausführung auch ohne 2ten wert?

    Kommentar


    • #3
      Jupp, genau das fehlt.
      Nein, es kommt nicht ohne den dritten Teil aus. Wäre auch nutzlos so.
      immer (a) ? b : c

      Nicht zuviel in eine Zeile reinstopfen.
      Weniger Code ist nicht immer eleganter, sondern oft zusammengequestscht, schlecht zu lesen bis unwartbar.

      Kommentar


      • #4
        GENAU™!
        Bisher hast du $a = $b ? ( $c ? "a" : "b");
        Statt ; müsste da nochmal :""; hin.
        Also dann: $a = $b ? ( $c ? "a" : "b") : "d";

        Kommentar


        • #5
          Dieser Operator braucht immer noch einen zweiten Wert, der zurückgegeben wird, wenn die Bedingung nicht erfüllt ist. Also müsste da noch ein : '' hinten dran, wenn der String ggf. leer sein soll.

          Dsa ist aber keine alternative IF-Syntax, sondern ein Operator.

          IF-Abfragen führen alternative Anweisungen aus.
          Dieser Operator bestimmt jedoch den Wert des Ausdrucks.
          **********************************
          Nein, ich bin nicht die Signatur.
          Ich putze hier nur.
          **********************************

          Kommentar


          • #6
            Ups. Mir ist schon klar dass dieser Operator immer einen zweiten Wert braucht - nur hab ich das in obriger Syntax komplett übersehen - danke für eure Hilfe

            Mir ist auch eingefallen wie dieser Operator heißt: Ternäroperator.

            Kommentar

            Lädt...
            X