Autor | Zpráva | ||
---|---|---|---|
Kwoky Profil * |
#1 · Zasláno: 31. 8. 2009, 15:12:43
Dobrý den,
řeším jednu zapeklitou věc. Potřeboval bych z rozsáhlého jednorozměrného pole (stovky položek) v PHP vytáhnout 5 nejmenších čísel. Je na to nějaká funkce nebo to budu muset udělat "hrubou silou"? Sort je pro mě nepoužitelný, protože ten pole komplet přeskládá (hodnotám se změní indexy), což je pro mě nežádoucí. Jak tedy na to? Děkuji za každou radu. |
||
Mike8748 Profil |
#2 · Zasláno: 31. 8. 2009, 15:17:20
asort() seradis pole (zachova klice), pak vypises svych N polozek
|
||
Kwoky Profil * |
#3 · Zasláno: 31. 8. 2009, 15:23:50
Děkuji za rychlou reakci. To je možná ono. Vyzkouším a napíšu.
|
||
Kwoky Profil * |
#4 · Zasláno: 31. 8. 2009, 17:21:13
Tak ano, dělá to naprosto přesně to, co jsem potřeboval.
Ještě doplňující dotaz. Mám v kódu toto: $i=1; foreach ($pole as $key=>$hodnota) { if ($i>1 and $i<=6) {echo "$key, $hodnota<br>\n";} $i=$i+1; } Foreach tedy projde celé pole, ale já použiji jen 2.-6. položku. Zatěžuje foreach nějak významně server (a mám se snažit ho tedy nějak po šestém průchodu zarazit) nebo je to jedno a nemá cenu to řešit? |
||
nightfish Profil |
#5 · Zasláno: 31. 8. 2009, 17:29:49
$i=1; foreach ($pole as $key=>$hodnota) { if (($i > 1) && ($i<=6)) { echo "$key, $hodnota<br>\n"; } else { break; } $i++; } |
||
Časová prodleva: 15 let
|
0