Autor Zpráva
Greeg
Profil
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
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
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 :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: