記入日:2023-02-06 編集日:2023-02-06
SQL見るだけクエリ。今回は、二次元配列を指定カラムの条件で並び替えしてみようと思います。
並び替えには、array_multisortを使用ます。複数カラムの条件を設定してみようと思います。
以下の様な、動画リストの二次元配列があったとします。
この二次元配列を、日付順(date)、ID順(id)で、並び替えを行おうと思います。
以下事例
// 元となる二次元配列 $movie_list = [ [ 'id' => 1, 'title' => 'AAAAA', 'date' => '2022-10-29', ], [ 'id' => 2, 'title' => 'BBBBB', 'date' => '2022-09-15', ], [ 'id' => 3, 'title' => 'CCCCC', 'date' => '2022-12-24', ], [ 'id' => 4, 'title' => 'DDDDD', 'date' => '2022-10-29', ], ]; // 動画のリストを取得をする 日付が新しい順、idの若い順 $movie_list = $movie_list; // 第1条件設定(date) $sort_date = array_column($movie_list, 'date'); // 第2条件設定(id) $sort_id = array_column($movie_list, 'id'); // $movie_list二次元配列を並び替えします。 // 第一優先は、$sort_dateの昇順、第二優先は、$sort_idの昇順で並び替えします。 // 並び替えの元となる$movie_listを最後の引数に設定します。 array_multisort($sort_date, SORT_ASC, $sort_id, SORT_ASC, $movie_list); print_r($movie_list);
結果は以下の様に、日付の古い順番に並び変わります。同一日付の場合は、IDの小さい方が先に並びます。
Array ( [0] => Array ( [id] => 2 [title] => BBBBB [date] => 2022-09-15 ) [1] => Array ( [id] => 1 [title] => AAAAA [date] => 2022-10-29 ) [2] => Array ( [id] => 4 [title] => DDDDD [date] => 2022-10-29 ) [3] => Array ( [id] => 3 [title] => CCCCC [date] => 2022-12-24 ) )
日付を新しいもの順にした場合は以下の様になります。
array_multisort($sort_date, SORT_DESC, $sort_id, SORT_ASC, $movie_list);
Array ( [0] => Array ( [id] => 3 [title] => CCCCC [date] => 2022-12-24 ) [1] => Array ( [id] => 1 [title] => AAAAA [date] => 2022-10-29 ) [2] => Array ( [id] => 4 [title] => DDDDD [date] => 2022-10-29 ) [3] => Array ( [id] => 2 [title] => BBBBB [date] => 2022-09-15 ) )
SQLの使いどころ
サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。
SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。
また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。
KK
機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。