Помогите с сортировкой масива

Бочонок

http://frontender.info
Помогите с сортировкой масива

Доброго времени суток:
Есть $test масив вида:
PHP:
$v1=array("param1"=>"word1","param2"=>222,"param3"=>"lord1");
$v2=array("param1"=>"word2","param2"=>333,"param3"=>"lord2");
$v3=array("param1"=>"word3","param2"=>111,"param3"=>"lord3");
$v4=array("param1"=>"word4","param2"=>444,"param3"=>"lord4");
$test=array("key1"=>$v1,"key2"=>$v2,"key3"=>$v3,"key4"=>$v4);
Я хочу его отсортировать по param2 (по убыванию). Написал скрипт, который это почти делает... Но когда надо поменять элементы местами выходит ерунда... Помогите решить эту проблему...

PHP:
$num=count($test);

foreach ($test as $key => $val){
$i=0;
foreach ($test as $ikey => $ival){
$i++;


$tmp=array_keys($test);
foreach ($tmp as $tkey=>$tval){

if($tval==$ikey){
$current_key=$ikey;
$next_key=$ikey+1;
$current=$tval;
$next=$tmp[($tkey+1)];
break;
}}

$current_val=$test[$current];
$next_val=$test[$next];

echo "<br>";
echo $current_val["param2"]." vs ".$next_val["param2"];
echo "<br>";


if($current_val["param2"]<$next_val["param2"]){
//нужно поменять местами элементы
//array_splice($test,$current_key,1,$next_val);
//array_splice($test,$next_key,1,$current_val);

}

if($i==$num-1){break;}

}
}
 

Бочонок

http://frontender.info
usort почему то режет ключи...
написал ф-ю:
PHP:
function mess_sort($a,$b){
if ($a["param2"] == $b["param2"]) {return 0;}
 return ($a["param2"] < $b["param2"]) ? 1 : -1;
}
usort($test, "mess_sort");
В результате получил вывод :
PHP:
-------------------------------
key1
param1 = word1
param2 = 222
param3 = lord1
key2
param1 = word2
param2 = 333
param3 = lord2
key3
param1 = word3
param2 = 111
param3 = lord3
key4
param1 = word4
param2 = 444
param3 = lord4
-------------------------------
0
param1 = word4
param2 = 444
param3 = lord4
1
param1 = word2
param2 = 333
param3 = lord2
2
param1 = word1
param2 = 222
param3 = lord1
3
param1 = word3
param2 = 111
param3 = lord3
-------------------------------
 

Бочонок

http://frontender.info
Да, извините за то что торможу.
Спасибо, за ссылку...
uasort
подошло прекрасно...
 
Сверху