2013-05-07 135 views
0

我需要將來自數據庫的兩個數組(每個數據庫按日期下降排序)和通過日期降序一起回顯一個新數組。學習PHP的排序功能,我得到這個代碼:Php數組按日期降序合併和排序

從低到日高
//Function 
function dateSort($a,$b){ 
$dateA = strtotime($a['data']); 
$dateB = $b['payment_date'];//already unixtime 
return ($dateA-$dateB); 
} 

// Merge the arrays 
$h_pp_ps = array_merge($h_pp,$h_ps); 
// Sort the array using the call back function 
usort($h_pp_ps, 'dateSort'); 
//PRINT!! 
print_r($h_pp_ps); 

這將產生的結果....如何從高得到它的低?

回答

1

容易沒什麼:

$h_pp_ps = array_reverse($h_pp_ps); 
+0

非常感謝一個大概應該,但不知它是不工作,這是理所當然的t不會產生任何效果 – Adry 2013-05-07 16:50:23

+0

@Adry編輯我的答案,這應該工作。 – wilks 2013-05-07 21:01:48

+0

我標記的問題解決了您的建議,因爲我遇到的錯誤是由於數據庫結果,我不得不改變approuch的問題,雖然你肯定是這個問題的答案非常感謝! – Adry 2013-05-09 12:12:44

0

減$ dateA從$ dateB爲($ dateB - $ dateA)這樣的方法的return語句 'dataSort',它會反向排序順序。

詳情:

改變這種方法

function dateSort($a,$b){ 
$dateA = strtotime($a['data']); 
$dateB = $b['payment_date'];//already unixtime 
return ($dateA-$dateB); 

}

要:

function dateSort($a,$b){ 
$dateA = strtotime($a['data']); 
$dateB = $b['payment_date'];//already unixtime 
return ($dateB - $dateA); 

}