PHPの多次元連想配列…というかジャグ配列を特定のキーの値でソートするには、array_multisortではなくusortを使う方法もある

http://chalow.net/2007-11-07-3.html
PHPでジャグ配列をソートする方法を検索すると、array_multisort関数を使う方法が出てくるが、array_multisortは準備が必要だし、無駄に複数の配列をソートしている。あと、こんな機能はPHP以外では見たことがないので混乱する。
usort関数を使えば、javascriptc#のようにユーザー定義の比較関数を使用してソートができる。

<?php
$sales = array(
  2 => array(
    'title' => 'ほげほげ1',
    'amount' => 3,
  ),
  1 => array(
    'title' => 'ほげほげ2',
    'amount' => 2,
  ),
  0 => array(
    'title' => 'ほげほげ3',
    'amount' => 5,
  ),
);
var_dump($sales);

// 【array_multisortは、ソート用配列を作るというステップが必要】
// $amounts = array();
// foreach($sales as $key=>$item){
//     $amounts[$key] = $item['amount'];
// }
// array_multisort($amounts, SORT_ASC, $sales);  // $amountsをソートして、$salesをそれと同じ順に並べ替える

// 【usortなら、この1行だけでソートできる】
usort($sales, function ($item1, $item1) { return $item1['amount'] - $item2['amount']; });
var_dump($sales);
?>