2015-05-19 52 views
-1

我得到一個大數組,其中包含從數據庫生成的大量東西,但無法更改從db生成的輸出的順序。但是我需要根據他們的發佈日期/日期來對存儲在這個數組中的專輯進行排序。在數組中有這兩個變量。我需要的只是根據它們的rls_date值的順序更改粗體數字。在php數組中使用order by(mysql)

有沒有簡單的方法來做到這一點? 謝謝!

因爲沒有必要了解我的問題,所以我幾乎刪除了所有內容。

[**0**] => Array 
        (
         [rls_date] => 1400191200 
         [alb_artist_infos] => Array 
          (
           [0] => Array 
            (

            ) 

          ) 

         [all_artists] => Array 
          (
           [0] => Array 
            (

            ) 

          ) 

         [genres] => Array 
          (
           [0] => Array 
            (
             [name] => 
             [id] => 4 
            ) 

          ) 

         [track_infos] => Array 
          (
           [0] => Array 
            (

             [artists] => Array 
              (
               [0] => Array 
                (

                ) 

              ) 

            ) 

          ) 

        ) 

      ) 
[**1**] => Array.... 
+0

那麼你嘗試過這麼遠嗎? –

+0

對不起,我是新來的。 – user4915724

+0

添加一些你已經嘗試過的代碼。 –

回答

1

您正在尋找的usort()功能:

usort($array, function($a, $b) { 
    if($a['rls_date'] == $b['rls_date']) 
     return 0; 

    return ($a['rls_date'] < $b['rls_date']) ? -1 : 1; 
}); 
+0

嗨,謝謝你的回答! 這對我不起作用,因爲$ array是$ array [0] [0] [rls_date] $ array [0] [1] [rls_date]等 – user4915724

+0

然後傳入'$ array [0]'作爲'usort'的第一個參數? – TiMESPLiNTER

+0

$ array [0] ['release_date']不存在。 因爲release_date被保存在那裏,所以我必須傳遞$ array [0] [1]和$ array [0] [2]。 – user4915724