データベースのクエリ結果は、mysql の in ステートメントを使用して取得された結果など、直接使用できない場合があるため、結果を何らかの方法で並べ替える必要があります。
例 4. データベース結果の並べ替え
この例では、データ配列内の各セルがテーブル内の行を表します。これは、データベースに記録される典型的なデータのコレクションです。例のデータは次のとおりです:
ボリューム | エディション
-----+--------67 | 185 6 98 | 286 | 667 | 7 データはすべて data という名前の配列に格納されます。これは通常、mysql_fetch_assoc() などのループを通じてデータベースから取得されます。 $data[] = array('volume' => 67, 'edition' => 2);$data[] = array('volume' => 86, 'edition' => 1 );$data[] = array('volume' => 85, 'edition' => 6);$data[] = array('volume' => 98, 'edition' => ; 2);$data[] = array('ボリューム' => 86, 'エディション' => 6);$data[] = アレイ('ボリューム' => 67, 'エディション' => 7);?> この例では、ボリュームは降順でソートされ、エディションは昇順でソートされます。 これで行を含む配列ができましたが、array_multisort() には列を含む配列が必要なので、次のコードを使用して列を取得し、並べ替えます。 // 列のリストを取得しますforeach ($data as $key => $row) {$volume[$key] = $row['volume'];$edition[$key] = $row['edition'];}// データをボリュームに応じて降順、エディションに応じて昇順に並べ替えます// $data を最後のパラメータとして使用し、共通キーで並べ替えますarray_multisort($volume, SORT_DESC , $edition, SORT_ASC, $data);?> データ収集がソートされ、結果は次のようになります:
volume | edition
--- ----+----- ---
86 | 6
67 |
http://www.bkjia.com/PHPjc/446955.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/446955.html
技術記事
mysql の in ステートメントを使用して取得された結果など、データベース クエリの結果は直接使用できない場合があるため、結果を何らかの方法で並べ替える必要があります。 例 4. データベース結果の並べ替え...