Mir ist klar, das folgendes eine Anfängerfrage ist, aber bitte nicht schimpfen, ich bin Anfänger.
Die Situation:
Ich vergleiche eine Variable $variable_x mit einer Reihe anderer Variablen $variable_1, $variable_1, $variable_2,....,$variable_n,
welche alle verschieden sind.
Bei Übereinstimmung soll ein bestimmter Befehlssatz ausgeführt werden. Andernfalls soll eine Meldung erscheinen, das keine Übereinstimmung besteht.
Schematisch ausgedrückt: wenn (Übereinstimmung gefunden) {führe entsprechenden Befehlssatz aus}
andernfalls {print $Meldung;}
Soweit so simpel.
Der Code:
if ($variable_x == $variable_1) {Befehlssatz 1};
if ($variable_x == $variable_2) {Befehlssatz 2};
if ($variable_x == $variable_3) {Befehlssatz 3};
if ( !(($variable_x == $variable_1) or ($variable_x == $variable_2) or ($variable_x == $variable_3)) )
{print $Meldung;};
Soweit immernoch simpel.
Jetzt meine Frage:
Mir erscheint obiges vernünftig bei 3 Variablen, aber was ist, wenn ich z.B. 100 davon habe?
Dann hätte ich 100 Zeilen code für Übereinstimmung??
Dann müsste ich Nicht-Übereinstimmung mit 1 Zeile Code mit 100 mal "or" checken? Ich wette das ist typischer Anfänger-Humbug
und lässt sich irgendwie als Schleife oder Funktion machen. Aber ich kriege es nicht gebacken. Habe mich in loop und case angelesen,
bekomme es aber nicht hin. Ist das die richtige Spur? Ich habe schon mal die vielen ifs als case/switch geschrieben. Das funktioniert, aber wirklich kürzer ist es auch nicht.
Vielen Dank für Eure Hilfe!
(Ich lese alles, antworte aber mit ein paar Stunden Verzögerung heute; es ist jetzt tiefe Nacht)
Die Situation:
Ich vergleiche eine Variable $variable_x mit einer Reihe anderer Variablen $variable_1, $variable_1, $variable_2,....,$variable_n,
welche alle verschieden sind.
Bei Übereinstimmung soll ein bestimmter Befehlssatz ausgeführt werden. Andernfalls soll eine Meldung erscheinen, das keine Übereinstimmung besteht.
Schematisch ausgedrückt: wenn (Übereinstimmung gefunden) {führe entsprechenden Befehlssatz aus}
andernfalls {print $Meldung;}
Soweit so simpel.
Der Code:
if ($variable_x == $variable_1) {Befehlssatz 1};
if ($variable_x == $variable_2) {Befehlssatz 2};
if ($variable_x == $variable_3) {Befehlssatz 3};
if ( !(($variable_x == $variable_1) or ($variable_x == $variable_2) or ($variable_x == $variable_3)) )
{print $Meldung;};
Soweit immernoch simpel.
Jetzt meine Frage:
Mir erscheint obiges vernünftig bei 3 Variablen, aber was ist, wenn ich z.B. 100 davon habe?
Dann hätte ich 100 Zeilen code für Übereinstimmung??
Dann müsste ich Nicht-Übereinstimmung mit 1 Zeile Code mit 100 mal "or" checken? Ich wette das ist typischer Anfänger-Humbug
und lässt sich irgendwie als Schleife oder Funktion machen. Aber ich kriege es nicht gebacken. Habe mich in loop und case angelesen,
bekomme es aber nicht hin. Ist das die richtige Spur? Ich habe schon mal die vielen ifs als case/switch geschrieben. Das funktioniert, aber wirklich kürzer ist es auch nicht.
Vielen Dank für Eure Hilfe!
(Ich lese alles, antworte aber mit ein paar Stunden Verzögerung heute; es ist jetzt tiefe Nacht)
Kommentar