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