
23.06.2009, 01:42
|
|
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Все правильно, только я просил функцию и говорил, что ключей у массивов может быть сколько угодно.
Вот более универсальное решение:
PHP код:
<?php
$arr=Array(
Array('key1'=> 1, 'key2'=>3),
Array('key1'=> 8, 'key2'=>4),
Array('key1'=> 5, 'key2'=>6),
Array('key1'=> 5, 'key2'=>8),
Array('key1'=> 6, 'key2'=>9),
Array('key1'=> 3, 'key2'=>7),
Array('key1'=> 5, 'key2'=>1),
Array('key1'=> 2, 'key2'=>2),
Array('key1'=> 0, 'key2'=>0),
Array('key1'=> 2, 'key2'=>5)
);
$order=Array('key1'=>'asc', 'key2' => 'desc');
usort($arr, 'mysort');
print_r($arr);
function mysort($a,$b)
{
global $order;
$result=0;
foreach($order as $key=>$value)
{
if($a[$key]==$b[$key])
continue;
$result=$a[$key]<$b[$key] ? -1 : 1;
if($value=='desc') $result=-$result;
break;
}
return $result;
}
?>
|
|
|