Php数组按日期顺序合并和排序
我需要组合来自数据库的2个数组(每个数组按日期下降顺序排列),并按日期下降顺序将一个新数组回送到一起。通过学习php排序函数,我得到了以下代码:Php数组按日期顺序合并和排序,php,arrays,sorting,merge,Php,Arrays,Sorting,Merge,我需要组合来自数据库的2个数组(每个数组按日期下降顺序排列),并按日期下降顺序将一个新数组回送到一起。通过学习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 = arr
//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);
这将产生从低日期到高日期的结果。。。。如何将它从高到低?没有比这更简单的了:
$h_pp_ps = array_reverse($h_pp_ps);
从$dateB中减去$dateA,例如方法“dataSort”的返回语句中的($dateB-$dateA),它将反转排序顺序 详情: 改变这个方法
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);