Ankündigung

Einklappen
Keine Ankündigung bisher.

Kontrollstruktur - Kurzform?

Einklappen

Neue Werbung 2019

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

  • Kontrollstruktur - Kurzform?

    Hallo Leute!

    Eine "Anfängerfrage":
    Code:
    echo "You have $i ". ($i==1 ? "message" : "messages"). " in your mailbox.\n";
    oder
    Code:
    $start = (isset($start)) ? abs((int)$start) : 0;
    sind das If-Statements in Kurzform? Kann mir das jemand "übersetzen"
    in normale if-Statments!?

    Vielen Dank für eure Hilfe!

    Peter[/code]


  • #2
    Kurze Erklärung:
    PHP-Code:
    <?php
    if($i == 1)
            echo 
    'message';
    else
            echo 
    'messages';

    // Und nun in Kurzform
    echo ($i == 1) ? 'message' 'messages';

    // Das zweite:
    if(isset($start))
            
    $start abs((int)$start);
    else
            
    $start 0;

    // Und nun wieder die Kurzform
    $start = (isset($start)) ? abs((int)$start) : 0;
    ?>

    Kommentar


    • #3
      Hi.

      Nennt sich "Ternäroperator" ...

      Gruß,
      Axel
      ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

      Kommentar


      • #4
        Es handelt sich dabei nicht wirklich um eine Kurzform von if.
        If ist eine Kontrollstruktur, innerhalb abhängig von einer Bedingung eine Anweisung ausgeführt wird oder nicht. Alternativ kann auch entweder die eine oder die andere Anweisung ausgeführt werden.
        if hat jedoch keinen Wert.

        Der Operator nimmt abhängig von der Bedingung immer einen der beiden angegebenen Werte an und kann daher z.B. in einer Zuweisung oder überall dort, wo ein beliebiger Ausdruck stehen kann, verwendet werden.
        Das geht mit einer If-Anweisung nicht.
        **********************************
        Nein, ich bin nicht die Signatur.
        Ich putze hier nur.
        **********************************

        Kommentar


        • #5
          Jo, kurz gesagt eine "bedingte Zuweisung".

          Kommentar


          • #6
            Nein.
            <haarspaltmodus>
            Ein bedingter Ausdruck. Ob Du den Wert in einer Zuweisung verwendest oder nicht, ist egal.
            </haarspaltmodus>
            **********************************
            Nein, ich bin nicht die Signatur.
            Ich putze hier nur.
            **********************************

            Kommentar


            • #7

              ...oder ein eine abfrage mit "nicht unbedingt logischem" rückgabewert... *g*
              also nicht immer nur true/false...es sei denn man will es so
              PHP-Code:
              <?php
              $spass 
              = (true==true) ? "false" "true";
              ?>
              Wenn hier jemals "true" kommt stimmt meine Weltordnung nicht mehr...

              Kommentar

              Lädt...
              X