- 2008/05/01 14:39
- PHP
PHPメモ。
1次元配列のソートは「asort」などで可能ですが、多次元配列の場合、「array_multisort」を使用します。
例:たとえば、次の多次元配列があった場合を考える。
$data = array( [0] => array( "foo" => 10, "bar" => 5, "hoge" => 7 ), [1] => array( "foo" => 8, "bar" => 6, "hoge" => 1 ), [2] => array( "foo" => 10, "bar" => 5, "hoge" => 7 ) );
たとえば、列「foo」の値でソートしたい場合、
foreach($data as $key => $row){
$foo[$key] = $row["foo"];
}
array_multisort($foo,SORT_DESC,$data);
となる。
さらに、「foo」をソートし、さらに「bar」をソートし、さらには「hoge」でソートしたい場合は、以下のようになる。
foreach($data as $key => $row){
$foo[$key] = $row["foo"];
$bar[$key] = $row["bar"];
$hoge[$key] = $row["hoge"];
}
array_multisort($foo,SORT_DESC,$bar,SORT_DESC,$hoge,SORT_DESC,$data);
う~ん、便利な関数があるもんですね。
関連記事
- CakePHPで楽天WEBサービスを使う(ジャンルコード)
- http_build_queryを使うときの注意点(PHP)
- PHPで更新Pingの送信
- たったこれだけでPHPからTwitterに投稿できる関数
- クールなグラフを作成できる「Open Flash Chart」のキャッシュ問題
- [PHP] 式の前の@(アットマーク)
- MTのサイドバーにRSSリーダーを追加する
- CSVファイルを配列に格納(PHP)
Sponsored Link
Google+
zenback
- Newer: Adsenseからポリシー違反のメールが。。。
- Older: CSVファイルを配列に格納(PHP)
Comments:2
- tanaka8 2010/12/16
多次元配列の操作でつまづいてましたが
こちらで解消しました。
ありがとうございます。- showBOO 2010/12/17
>tanaka8さん
参考になれば幸いです。
Trackbacks:5
- Trackback URL for this entry
- http://www.multiburst.net/sometime-php/2008/05/php_1/trackback/
- Listed below are links to weblogs that reference
- 多次元配列をソートする(PHP) from Sometime PHP
- pingback - Ai Dream – Web System Japan » [PHP] 多次元配列をソートする より 2009/08/06
[...] こちらのサイトを参照 カテゴリー: 未分類 タグ: 閲覧回数 9 回 コメント (0) トラックバック (0) コメントをどうぞ トラックバックURL [...]
- trackback - masomi79の日記 より 2009/11/25
[PHP]多次元配列のソート。 ディレクトリの中身を array_multisort を使ってソートする
配列の初期化 $dirlist = array(); $udate = array(); ディレクトリ内のファイル名を取得して$strDirに格納 $filedir = ディレクトリ名; $strDir = opendir($filedir)or die(”couldnt open …
- pingback - PHPで二次元や多次元配列のソート - adbon.net より 2010/06/28
[...] http://www.multiburst.net/sometime-php/2008/05/php_1/ [...]
- pingback - PHPで多次元配列をソートする関数 - TANAKAORIGINAL より 2011/01/10
[...] 多次元配列をソートする(PHP) [...]
- pingback - 2009年の当ブログ・人気記事 - Sometime PHP より 2011/05/21
[...] 5. 多次元配列をソートする(PHP) [...]
Additional comments powered by BackType





