Case größer gleich / kleiner gleich ?
Kris
- php
Halli Hallo erstmal und guten Morgen :)
ist es möglich statt :
<?php
switch ($i) {
case 0:
case 1:
case 2:
... ... ...
echo "i ist kleiner als 21 aber nicht negativ";
... ... ...
?>
auch etwas ähnliches zu schreiben statt
<?php
switch ($i) {
case <= 20 :
20 < case <= 40:
40 < case <= 60:
60 < case <= 80:
80 < case <= 100:
case 2:
echo "i ist kleiner als 3 aber nicht negativ";
... ... ...
?>
bitte komm jetzt nicht einer an mit "Das kann man auch auf 1,2,3,4,5 statt 20,40,60,80,100 kürzen ... das hier ist nur ein Beispiel :)
mfg
KRIS
<?php
switch ($i) {
case <= 20 :
20 < case <= 40:
40 < case <= 60:
60 < case <= 80:
80 < case <= 100:
case 2:
echo "i ist kleiner als 3 aber nicht negativ";
... ... ...
?>
case ($i <= 20): ...;
case (21 < $i <= 40): ...;
case (41 < $i <= 60): ...;
case (61 < $i <= 80): ...;
case (81 < $i <= 100): ...;
so ?
Hallo,
case ($i <= 20): ...;
case (21 < $i <= 40): ...;
case (41 < $i <= 60): ...;
case (61 < $i <= 80): ...;
case (81 < $i <= 100): ...;so ?
switch(true)
{
case($i <= 20): ...;
case($i > 21 && $i <= 40): ...;
case($i > 41 && $i <= 60): ...;
case($i > 61 && $i <= 80): ...;
case($i > 81 && $i <= 100): ...;
default: ...;
}
Alternativ bieten sich natuerlich if-elseif-else-Konstrukte an.
MfG, Thomas
[Nachtrag]:
switch(true)
{
case($i <= 20): ...;
case($i > 21 && $i <= 40): ...;
case($i > 41 && $i <= 60): ...;
case($i > 61 && $i <= 80): ...;
case($i > 81 && $i <= 100): ...;
default: ...;
}
Bezogen auf das Ausgangsposting eher so:
~~~php
switch(true)
{
case($i <= 20): ...;
case($i > 20 && $i <= 40): ...;
case($i > 40 && $i <= 60): ...;
case($i > 60 && $i <= 80): ...;
case($i > 80 && $i <= 100): ...;
default: ...;
}
MfG, Thomas
switch(true)
Thomas,
Aua, das tut doch weh. http://forum.de.selfhtml.org/archiv/2005/8/t114059/#m725939
Alternativ bieten sich natuerlich if-elseif-else-Konstrukte an.
Das möchte ich meinen! Das ist die vernünftige[tm] Wahl.
Live long and prosper,
Gunnar
Hallo,
Aua, das tut doch weh. http://forum.de.selfhtml.org/archiv/2005/8/t114059/#m725939
Ich habe diese Technik bereits frueher hier erwaehnt und da gab es nicht so einen Aufstand.
Man muss diese nicht moegen und ich setze auch nur selten darauf, aber es ist eben eine Moeglichkeit, die IMHO durchaus verwendbar ist.
Alternativ bieten sich natuerlich if-elseif-else-Konstrukte an.
Das möchte ich meinen! Das ist die vernünftige[tm] Wahl.
<marquee>Da bin ich doch gern mal unvernuenftig!</marquee>
<font size="7">;-))</font>
MfG, Thomas
Alternativ bieten sich natuerlich if-elseif-else-Konstrukte an.
in der strukturierten programmierung wird zwischen alternativen und fällen unterschieden. daher gibts if und case.
wenn es sich um eine fallunterscheidung handelt, ist case sicherlich die bessere wahl, nicht nur wegen der übersichtlichkeit.
für meine person hasse ich tiefverschachtelte if else konstuktionen als ersatz für fallunterscheidungen.
Hi,
bitte komm jetzt nicht einer an mit "Das kann man auch auf 1,2,3,4,5 statt 20,40,60,80,100 kürzen ... das hier ist nur ein Beispiel :)
Wo liegt überhaupt Dein Problem, was genau möchtest Du machen?
Ich rate einfach mal:
$number = 42;
$range = 10;
$i = 0;
$j = 0;
// Du möchtest nur positive Zahlen
if($number > 0){
// Die Zahl soll in einem bestimmtem Bereich liegen.
// Der Bereich wächst kontinuierlich.
$i = $number - $number % $range;
$j = $number + $range - $number % $range;
echo "Die Zahl " .$number. " ist positiv und liegt zwischen ".$i." und ".$j;
}
Das ist abwärtsgerichtet d.h. 50 liegt hier zwischen 50 und 60, wäre aber einfach zu ändern.
Achso: das lohnt sich natürlich nur, wenn auch genügend Material da ist, für zahlen von 1-31 und Bereich 10 lohnt sich das natürlich nicht, aber bei mehr ist das schon sehr effektiv.
so short
Christoph Zurnieden