解説
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//コード // 値の作成 $dataArr[] = array("data1" => 1, "data2" => 13, "data3" => 21); $dataArr[] = array("data1" => 2, "data2" => 13, "data3" => 25); $dataArr[] = array("data1" => 2, "data2" => 11, "data3" => 25); //ソートしたいキーを抜き出す foreach($dataArr as $key => $value){ $sort[$key] = $value["data1"]; $sort2[$key] = $value["data2"]; } //data1の値の昇順にし、被った部分は第2ソートであるdata2の昇順 array_multisort($sort, SORT_ASC, $sort2, SORT_ASC, $dataArr); //出力 print_r($dataArr); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
//出力結果 Array ( [0] => Array ( [data1] => 1 [data2] => 13 [data3] => 21 ) [1] => Array ( [data1] => 2 [data2] => 11 [data3] => 25 ) [2] => Array ( [data1] => 2 [data2] => 13 [data3] => 25 ) ) |
ちゃんとdata1の昇順になり、date1の重複部分はdate2の昇順になったことが確認できる