2012-01-28 19 views
0

array_sort()関数を使用しましたhere複数のAPIの結果を並べ替えるのに時間がかかりましたが、今では2つのキーで同時に並べ替える必要があります。私はソートする必要が複数のキーの多次元配列の並べ替え

2つのキーがdeal_score DESCとdate_start DESC

次のようにこの配列の性質があります。 レコード2は、最高deal_scoreは、第1 レコード0と1来るべきた同じdeal_scoreを有するが、date_startので、結果の最終的な順序が2、1、0

であるべきであるレコード1に高いここ有する例示的配列です読みやすくするために削除されました。

 [0] => Array 
      (
       [db_id] => 414314 
       [date_start] => 2012-04-17 
       [deal_score] => 81.3 
       [deal_statements] => Array 
       (
        [0] => 49.85 
        [1] => 2.11 
       ) 
      ) 

     [1] => Array 
      (
       [db_id] => 414409 
       [date_start] => 2012-04-20 
       [deal_score] => 81.3 
       [deal_statements] => Array 
       (
        [0] => 28.2 
        [1] => 21.41 
       ) 
      ) 

     [2] => Array 
      (
       [db_id] => 1345923 
       [date_start] => 2012-04-17 
       [deal_score] => 85 
       [deal_statements] => Array 
       (
        [0] => 18.1 
        [1] => 22.16 
       ) 
      ) 

これに関するお手伝いをさせていただきます。

答えて

4

sth。このようにする必要があります:

foreach ($data as $key => $row) { 
    $score[$key] = $row['deal_score']; 
    $dates[$key] = $row['date_start']; 
} 

array_multisort($score, SORT_ASC, $dates, SORT_ASC, $data); 

3rd。 http://php.net/manual/en/function.array-multisort.phpの例がかなり説明しています。

乾杯。

関連する問題