Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] if ($a in (3,5)) ???

Einklappen

Neue Werbung 2019

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

  • [Erledigt] if ($a in (3,5)) ???

    Gibt es eine Möglichkeit, das hier kürzer zu schreiben?
    PHP-Code:
    if ($a==|| $a==5
    Ich habe bisher nur so was gefunden:
    PHP-Code:
    if (in_array($a, array(35))) 


  • #2
    es geht wohl um eine logische verknüpfung. warum nciht auch die entsprechende schreibweise verwenden?

    Kommentar


    • #3
      Also ich würde sagen dass deine 2 Version schwerer zu lesen ist als die erste und länger ist sie auch noch. Meines Wissens nach kann man das ganze nicht kürzer schreiben (falls zu die Zeichenzahl meinst), außer man wirft die überflüssigen Leerzeichen raus, was aber wiederum dazu führt dass man es schlechter lesen kann...

      Grüße
      Signatur:
      PHP-Code:
      $s '0048656c6c6f20576f726c64';
      while(
      $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

      Kommentar


      • #4
        Logisch, oder?

        Was für eine logische Verknüpfung? Ich weiss nicht, worauf du hinaus willst... or statt || ?
        Kürzer geht es wohl nicht, aber spricht was für die Array-Variante, wenn man mehr als 3 Zahlen überprüfen will oder wenn man $dies_ist[4]['etwas_lang'] statt $a hat?

        Kommentar


        • #5
          IMHO denke ich ist das reine geschmackssache. Bei mehr als 2 Werten würde ich eher zu in_array() tendieren, da dies erstens wesentlich kürzer ist. Und zweitens ist es finde ich auch lesbarer, da man genau weiß, dass es eine OR-Verknüpfung ist.
          Wenn ihr jetzt damit kommt, dass im Beispiel, aber in_array() länger war, muss ich sagen, dass Leuten die ihren Variablen Namen wie "$a", "$b" oder "$w" geben, die Hände abgehackt werden sollten.
          Lieber einen langen Namen schreiben, der aber aussagt, was diese Variable macht!
          Dafür haben die meisten IDE's auch eine Autovervollständigung, die einem die Arbeit abnimmt...
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar


          • #6
            alternativ ginge natürlich auch switch-case....

            Kommentar


            • #7
              Variante 1 ist eher zu verurteilen, weil sie sog. magic numbers verwendet.

              Fazit: Variante 2 wird schnell kürzer, lesbarer und semantisch, wenn man noch entspr. Variablen benutzt:

              PHP-Code:
              $validIds = array(376);

              if (
              in_array($inputId $validIds)) {
              // ...

              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                switch cases mag ich auch, aber an dieser Stelle eher unpraktisch...

                PHP-Code:
                <?php
                switch ($a) {
                    case 
                1:
                    case 
                2:
                    case 
                3:
                        
                doSomething();
                        break;
                }
                Da bevorzuge ich doch eher die einzelnen Statements...
                Variante 1 ist eher zu verurteilen, weil sie sog. magic numbers verwendet.
                Absolit deiner Meinung!
                Zur Erläuterung: dies sind Variablen von denen man nicht weiß was sie eigentlich aussagen und wo sie herkommen...
                "My software never has bugs, it just develops random features."
                "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                Kommentar


                • #9
                  Lösung

                  Ich habe mich für die Lösung von nikosch entschieden

                  Kommentar


                  • #10
                    Zitat von intensivstation Beitrag anzeigen
                    Gibt es eine Möglichkeit, das hier kürzer zu schreiben?
                    Nein.
                    "Mein Name ist Lohse, ich kaufe hier ein."

                    Kommentar

                    Lädt...
                    X