list[0][’name’]=’hoge’;
list[0][’age’]=18;
list[0][’sex’]=0;
list[1][’name’]=’foo’;
list[1][’age’]=20;
list[1][’sex’]=1;
:
:
list[x][’name’]=’...’;
list[x][’age’]=...;
list[x][’sex’]=...;
のような場合に、ageやnameをキーに添え字の0〜xをソートしたいです。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k08.htm
は見ていますが、キー指定の2次元配列のソートは無かったので質問します。
http://php.s3.to/man/function.array-multisort.html
array_multisort
下記のようなソートをすれば上手くいくと思います。
nameでソートしたければ、コメントを外してください。2つのキーでソートしたければ、参考ページのようにarray_multisortに2つのキーを指定することになります。
その場合は、$sort_keyは、$sort_key1、$sort_key2などが良いでしょう。
---
foreach ($list as $key => $row) {
// $sort_key[$key] = $row[’name’];
$sort_key[$key] = $row[’age’];
}
//array_multisort( $sort_key, SORT_DESC, $list );
array_multisort( $sort_key, SORT_ASC, $list );
なるほど。ソートできました。そういうことだったんですね。
ありがとうございました。
ちょうど自分でも今、同じページを見ていました。
使い方が、ちょっとエラー&トライになりそうですが、使えそうな気はします。
質問の例のケースで意図したとおりにソートできるサンプルを提示いただければ、ポイント多めに配分させていただきます。