Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php数组按日期顺序合并和排序_Php_Arrays_Sorting_Merge - Fatal编程技术网

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

我需要组合来自数据库的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 = 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);