array_multisortで配列の中身でソート

array_multisortが優秀すぎた。
http://jp2.php.net/manual/ja/function.array-multisort.php

<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);

// 列方向の配列を得る
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}
?>

データを volume の降順、edition の昇順にソートする。
$data を最後のパラメータとして渡し、同じキーでソートする。

<?php
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>