Tag
MENGE | PREIS
24 | 4,26
52 | 2,95
104 | 2,21
200 | 2,05
z.B.
Mengeneingabe wäre 100, so müsste dies mit dem Preis von (52) 2,95 kalkulieren
wie kann ich dies anstellen, das die eingegebene Menge mit dem richtigen Preis kalkuliert?
nehmen wir mal an, das alles würde in einem Array $x stehen, die angegebene Menge ist $m, der Preis soll am Ende in $p stehen ...
$m2 = 0;
for($i=0, $j=count($x); $i<$j; $i++)
{
$y = explode("|", $x);
$y[0] = trim($y[0]);
if(is_numeric($y[0]))
{
# *1
$y[1] = trim(str_replace(",", ".", $y[1]));
if($y[0]>$m2 && $y[0]<$m)
$m2 = $y[0];
}
}
$p = str_replace(".", ",", ($m * $m2));
Dieses Beispiel kann auch mit ungeordneten Mengenangaben (also nicht sortiert) umgehen.
Wenn die Mengen wie von Dir angegeben aufsteigend geordnet sind, kannst Du bei # *1 folgendes einfügen:
if($y[0]>m) break;
Dann geht's noch bißl schneller (wirkt sich aber nur bei wirklich vielen Abfragen / Mengen aus).
Ciao,
Harry