- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2次元配列のソート)
2次元配列のデータをソートする方法
このQ&Aのポイント
- 2次元配列のデータをソートする方法がわからない
- データの項目(商品コード、商品名など)数は固定で、データ数や内容は変化する
- array_multisort関数は使えないので、別の方法を教えてほしい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えば、金額での昇順ソート $data_max = 1000 ; //データの個数 $s = 2 ; // 3番目の金額なので for ($i=0 ;$i<$data_max ;$i++){ $sort[$i] = $i ; } for ($i=0 ;$i<$data_max-1 ;$i++){ for ($j=0 ;$j<$data_max ;$j++){ if ( $data[$sort[$i]][$s] > $data[$sort[$j]][$s] ){ // このifの判定をいじれば昇順降順などを操作できます $k = $sort[$i] ; $sort[$i] = $sort[$j] ; $sort[$j] = $k ; } print "$data[sort[$i]][0] $data[sort[$i]][1] $data[sort[$i]][2] $data[sort[$i]][3]\n" ; }
その他の回答 (1)
- arukamun
- ベストアンサー率35% (842/2394)
回答No.1
まず基本的なアルゴリズムとかを覚えたほうが良いと思いますよ。 ソートは クイックソート バブルソート などが有名なアルゴリズムですね。 これらを踏まえて、PHPに置き換えれば良いですね。
お礼
お礼が遅くなって済みませんでした。 回答ありがとうございます。 2次元配列をソートする関数のようなものはないのですね。 回答いただいたロジックを用いてソートができるようになりました。 アルゴリズムはあまり理解していなかったので、これを機に勉強したいと思います。 ありがとうございました。