tömbrendezés[MEGOLDVA]

Sziasztok !
Biztosan pofon egyszerű a dolog , de ezen molyolok egy ideje.
adott ez a tömb:
Array
(
[0] => Array
(
[a] => 1
[b] => 2
)

[1] => Array
(
[a] => 1
[b] => 3
)

[2] => Array
(
[a] => 2
[b] => 1
)

[3] => Array
(
[a] => 2
[b] => 3
)

[4] => Array
(
[a] => 5
[b] => 3
)

)

Ezt kellene úgy forgatnom , hogy az altömbök közül az a,b pár úgy maradjon meg hogy ha ismétlődik a elem , akkor a magasabb értékű b vel maradjon meg.
Köszi előre is.

Hozzászólások

Valami ilyesmire gondoltal?


#!/usr/bin/php
<?php
$t=Array
(
  Array("a"=>1,"b"=>2),
  Array("a"=>1,"b"=>3),
  Array("a"=>2,"b"=>3),
  Array("a"=>2,"b"=>1),
  Array("a"=>5,"b"=>3),
);

$ujtomb=Array();
$hozzarendeles=Array();
$sorszam=0;

foreach($t as $par)
{
  $a=$par['a'];
  $b=$par['b'];
  if(!array_key_exists($a,$hozzarendeles))
  { //nincs benne, felvesszuk, es megjegyezzuk, hogy hol van ($hozzarendeles tomb)
    $hozzarendeles[$a]=$sorszam;
    $ujtomb[$sorszam++]=Array("a"=>$a,"b"=>$b);
  }
  else
  { //mar benne van
    if($b>$ujtomb[$hozzarendeles[$a]]['b']) // ha nagyobb, betesszuk az ujat, ha kisebb, keszen vagyunk
    {
      $ujtomb[$hozzarendeles[$a]]['b']=$b;
    }
  }
}

var_export($ujtomb);

--
In 2000 years time, historians studying the national census will think we murdered all the Jedi.