Autor | Zpráva | ||
---|---|---|---|
frost Profil |
#1 · Zasláno: 4. 12. 2007, 20:39:16 · Upravil/a: frost
Zdravím vás, mám toto pole a hodnotu a nevím si rady.
V první řadě doufám, že nevadí že mám pole obráceně zapsané. Dejme tomu že mám hodnotu 19000 a já potřebuji z pole získat hodnotu 3, protože je nejbližší nižší. Nevíte někdo jak na to? $kb= arrya ( "2" <= "2000", "3" <= "8000", "4" <= "20000", "5" <= "39000", ); ?> |
||
Joker Profil |
Tak pokud by to pole bylo vždy takhle seřazené podle velikosti, stačilo by vrátit o jeden nižší prvek ;-)
Jinak by šla použít třeba modifikovaná funkce pro hledání maxima: function maximum_pod($pole, $limit=false){ /* vrátí index nejvyšší hodnoty z $pole, která je nižší než $limit * Pokud žádná taková není, vrátí false * Pokud je v poli více takových hodnot, vrátí se index té první * Není-li zadáno $limit, vrátí index nejvyšší hodnoty celého pole */ $max = false; $vysledek = false; foreach($pole as $i=>$h){ if(($limit === false) || ($h < $limit)){ if(($max === false) || ($h > $max)){ $vysledek = $i; $max = $h; } } } return($vysledek); } (edit: fórum se mnou trochu laškovalo, teď už je to snad správně) |
||
Časová prodleva: 3 dny
|
|||
frost Profil |
#3 · Zasláno: 7. 12. 2007, 13:38:06
Dostal jsem se k tomu až teď a napsal jsi to perfektně.
Děkuji ti mnohokrát. |
||
Časová prodleva: 16 let
|
0