[Funktion] Fragezeichen und Doppelpunkt

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

  • [Funktion] Fragezeichen und Doppelpunkt

    Wahrscheinlich eine Anfängerfrage, ich habs aber in der PHP-Doku unter Syntax und alternative Syntax nicht gefunden und im Forum brauch ich mindestens 3 Zeichen zum Suchen und das hätte mir auch nicht weitergeholfen, da in jeder Frage ein Fragezeichen ist.

    Bitte, bitte, bitte:

    Was bedeutet ein Fragezeichen oder ein Doppelpunkt?

    Beispiel dafür (hab ich in einem Script gefunden):

    (count ($links) > 1) ? ($links = join (" | ",$links)) : ($links = "");

    Da ist ein Fragezeichen und ein Doppelpunkt und ich komm einfach nicht dahinter, was das bedeutet

    Danke im Voraus

  • #2
    PHP-Code:
    bedingung erfüllt nicht erfüllt
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Das ist die abgekürzete Schreibweise für IF-THEN-ELSE-Konstruktionen.

      Also:
      PHP-Code:
      if (count ($links) > 1)
      {
      $links join (" | ",$links);
      } else {
      $links "";

      So siehts vollständig aus.
      it's not a bug,
      it's a feature!

      Kommentar


      • #4
        Super, Danke für die schnelle Antwort.

        so könnte man sich eigentlich die ganzen nervigen Schleifen ersparen.
        Wieso macht das eigentlich niemand?
        Ich seh das jetzt zum ersten mal so.
        Oder ist das erst mit einer neuen Version vor kurzem gekommen?

        Kommentar


        • #5
          Das macht wahrscheinlich keiner, weil es einfach zu unübersichtlich ist.

          Was meinst du eigentlich mit nervige Schleifen?
          it's not a bug,
          it's a feature!

          Kommentar


          • #6
            Naja, eigentlich hab ich die Schreibweise gemeint,
            weil es halt bei kurzen Sachen sehr aufgebläht aussieht:

            if ......
            {
            .....
            }
            else
            {
            ........
            }

            Aber eigentlich, wenn ich so überleg, kann man die andere Schreibweise sowieso nur bei kurzen Statements übernehmen.

            Wenn Du eine ganze Latte von Bedingungen hast, die erfüllt werden müssten und noch elseifs oder so, dann ist die Schreibweise mit ? und : sowieso fürn A+F

            Danke auf jeden Fall für die schnellen Antworten

            Kommentar


            • #7
              Original geschrieben von XGremliN
              Das ist die abgekürzete Schreibweise für IF-THEN-ELSE-Konstruktionen.
              nein, das ist nicht ganz korrekt.

              das ding nennt sich trinitäts-operator. es kann zwar oftmals zur vereinfachten schreibung eines if-else benutzt werden - aber nicht immer.

              die beiden bestandteile nach dem ? müssen nämlich ausdrücke mit einem rückgabewert sein.

              deshalb würde z.b.
              ($blah==5) ? echo "hurra!" : echo "schade";
              nicht funktionieren, da echo keinen rückgabewert liefert.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                PHP-Code:
                echo ($blah==5) ? "hurra!" "schade"
                so geht's, aber das sieht recht konfus aus
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Original geschrieben von mrhappiness
                  [...] aber das sieht recht konfus aus
                  finde ich nicht.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar

                  Lädt...
                  X