phpbar.de logo

Mailinglisten-Archive

[PHP] Wert im Bereich

[PHP] Wert im Bereich

Guido Haeger GH-lists_(at)_ecora.de
Wed, 5 Apr 2000 22:26:40 +0200


Thomas Froehlich schrieb

> ich suche nach einer uebersichtlichen Moeglichkeit zu pruefen,
> ob sich eine Zahl in einem Wertebereich befindet (da die
> Zahl in verschiedenen bereichen oder gar nur mit Einzelwerten
> identisch sein kann, waeren hier viele unuebersichtliche
> if-Schleifen notwendig ;-/ ).
>
> Beispiel-Fragestellung: liegt die vom User eigegebene Zahl XX
> im Bereich von "100-199" oder im Bereich "310-320" oder
> ist sie "500".

Ich hätte als Lösungsansatz noch folgendes zu bieten, mit dem Vorteil
das das Ganze halbwegs in einer Funktion gekapselt ist und spätestens
einiges an Tipparbeit spart, wenn Du 10 Bereiche hast. Die Angabe der
zulässigen Werte-Bereiche sollte außerdem ganz gut lesbar sein.

function in_range($needle, $haystack)
{
    $erg = 0;
    $one = explode("|", $haystack);
    $anz = count($one);
    for($i=0; $i < $anz; $i++)
    {
        $x = explode("-", $one[$i]);
        if(($needle >= $x[0]) && ($needle <= $x[1]))
        {
            $erg = 1;
            break;
        }
    }
    return $erg;
}

$testwert = 500;
$range = "100-199|310-320|500-500";
if(in_range($testwert, $range) == 1)
{
    echo "alles wird gut";
}
else
{
    echo "Mist";
}

Guido Haeger



php::bar PHP Wiki   -   Listenarchive