Vimes: Rechnen ...

Beitrag lesen

Hallo,

habe gerade gesehen, dass ich

(1) if ($x == 0 || $x == 5 || $x == 10 || $x == 15){echo "5";}

auch kürzer durch

(2) if ($x % 5 == 0) {echo "5";}

schreiben kann. Aber was mache ich mit

(3) if ($x == 4 || $x == 9 || $x == 14 || $x == 19){echo $x+4;}

% ist der modulo - operater, d.h. er gibt dir den Rest bei einer Ganzzahl-Division.
Deshalb sind deine Ausdrücke oben nicht ganz äquivalent, da
(1) nur bei den Zahlen 0,5,10 und 15 erfüllt ist,
(2) aber für alle! durch fünf teilbaren Zahlen erfüllt ist.

wenn dir das egal ist, kannst du (3) auch als ($x%5==4) schreiben mit dem gleichen Handicap, dass alle Zahlen die bei Division durch 5 den Rest 4 lassen, diese Bedingung erfüllen.

Falls das ein Problem darstellen kann, einfach ein && ($x<21) anfügen.