二次元連想配列の値でソート

array_multisort()でやったほうが簡単だった…orz
http://au.php.net/manual/ja/function.array-multisort.php


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

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

こんなかんじか?

function value_asort($ary,$itemname,$sortorder='asc') {
// ソート方向を取得
$sortflg = ($sortorder == 'desc') ? SORT_DESC : SORT_ASC;

// 列方向の配列を得る
foreach ($ary as $key => $row) {
$sortary[$key] = $row[$itemname];
}
array_multisort($sortary, $sortflg, $data);
}