Сортировка многомерного массива

atlantis

Guest
Сортировка многомерного массива

Как можно отсортироваит массив многомерный типа
array("a"=>array(1,2,3,4,5), "b"=>array(4,3,2,1,1), "c"=>array(0, "r", 3 , 5, 6))

по значениям вложенных массивов, например по их 0-му элементу (a[0], b[0], c[0]).
что бы получилось:
array(
"c"=>array(0, "r", 3 , 5, 6),
"a"=>array(1, 2, 3, 4, 5),
"b"=>array(4, 3, 2, 1, 1)
)
 

uchenik

Новичок
Пересобрать двумерный массив, поменяв местами ключи:

array[k1][k2] -> array[k2][k1]

отсортировать и пересобрать массив обратно.

PHP:
function change_keys($array)
{
  foreach($array as $k1 => $v1)
  {
    foreach($v1 as $k2 => $v2)
    {
      $a[$k2][$k1] = $v2;
    }
  }
  return $a;
}

$a = change_keys($a);
array_multisort($a);
$a = change_keys($a);
 
Сверху