2013-05-07 62 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); 

}