Autor | Zpráva | ||
---|---|---|---|
Greeg Profil |
#1 · Zasláno: 3. 9. 2008, 09:47:36 · Upravil/a: Greeg
je v php implementovaná fnc ktorá by dokázala zoradiť viacúrovňové pole podľa nejakej hodnoty vnútri pola? napr mám pole
$ludia = array( "peter" => array("vyska"=>170, "vaha" =>75), "milan" => array("vyska"=>178, "vaha"=>80), "eva" => array("vyska"=>167, "vaha"=>56), ...); a teraz by som chel usporiadať pole "ludia" podla hodnoty "vyska" každej jeho položky. mám na to napísanú vlastnú fnc ale v nej sa musi 2x preliezť celým poľom a ďalšie 2 pomocné sa vytvoria takže to je dosť pomalé. vďaka za nápady |
||
srigi Profil |
#2 · Zasláno: 3. 9. 2008, 10:23:19
Sprav tu funkciu ako rekurziu s podmienkou, ze ak je element pole (if (is_array()) { } ) zavola funkcia same seba a preda si pole ako vstup.
|
||
Greeg Profil |
#3 · Zasláno: 3. 9. 2008, 10:32:14
uz sa mi pdarilo navarit toto:
$ludia = array( "peter" => array("vyska"=>170, "vaha" =>75), "milan" => array("vyska"=>178, "vaha"=>80), "eva" => array("vyska"=>167, "vaha"=>56) ); function porovnanie($x, $y) { if ( $x['vyska'] == $y['vyska'] ) return 0; else if ( $x['vyska'] < $y['vyska'] ) return -1; else return 1; } uasort($ludia, 'porovnanie'); print_r($ludia); ale aj tak diki :) |
||
Časová prodleva: 16 let
|
0