Показать сообщение отдельно

  #1  
Старый 23.06.2009, 01:42
d_x
Постоянный
Регистрация: 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;
    if(
$value=='desc'$result=-$result;

    break;
  }

  return 
$result;
}
?>
 
Ответить с цитированием