| 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: 18 let
|
|||
0