Php数组按日期下降合并和排序

时间:2013-05-07 16:11:43

标签: php arrays sorting merge

我需要组合来自数据库的两个数组(每个数据按日期下降排序)并按日期下降回显一个新数组。研究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);

这将产生从低日期到高日期的结果....如何从高到低?

2 个答案:

答案 0 :(得分:1)

没有比这更容易了:

$h_pp_ps = array_reverse($h_pp_ps);

答案 1 :(得分:0)

从$ dateB中减去$ dateA,例如($ dateB - $ dateA)在方法'dataSort'的return语句中,它将反转排序顺序。

详细说明:

更改此方法

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);

}