Php 基于多个键的多维数组排序
您好,我已经使用了一段时间的Php 基于多个键的多维数组排序,php,sorting,multidimensional-array,Php,Sorting,Multidimensional Array,您好,我已经使用了一段时间的array\u sort()函数对来自多个API的结果进行排序,但是现在我需要同时按两个键进行排序 我需要排序的两个键是deal\u scoreDESC和date\u startDESC 此数组的属性如下所示。 记录2具有最高的deal\u得分,因此应排在第一位 记录0和记录1具有相同的deal\u得分,但date\u start在记录1上更高,因此结果的最终顺序应为2,1,0 下面是一个示例数组,为了便于阅读,该数组已被缩减 [0] => Arr
array\u sort()
函数对来自多个API的结果进行排序,但是现在我需要同时按两个键进行排序
我需要排序的两个键是deal\u score
DESC和date\u start
DESC
此数组的属性如下所示。
记录2具有最高的deal\u得分
,因此应排在第一位
记录0和记录1具有相同的deal\u得分
,但date\u start
在记录1上更高,因此结果的最终顺序应为2,1,0
下面是一个示例数组,为了便于阅读,该数组已被缩减
[0] => Array
(
[db_id] => 414314
[date_start] => 2012-04-17
[deal_score] => 81.3
[deal_statements] => Array
(
[0] => 49.85
[1] => 2.11
)
)
[1] => Array
(
[db_id] => 414409
[date_start] => 2012-04-20
[deal_score] => 81.3
[deal_statements] => Array
(
[0] => 28.2
[1] => 21.41
)
)
[2] => Array
(
[db_id] => 1345923
[date_start] => 2012-04-17
[deal_score] => 85
[deal_statements] => Array
(
[0] => 18.1
[1] => 22.16
)
)
在此方面的任何帮助都将不胜感激。像这样的事情应该可以:
foreach ($data as $key => $row) {
$score[$key] = $row['deal_score'];
$dates[$key] = $row['date_start'];
}
array_multisort($score, SORT_ASC, $dates, SORT_ASC, $data);
三,。这个例子很好地解释了这一点
干杯。像这样的事情应该可以:
foreach ($data as $key => $row) {
$score[$key] = $row['deal_score'];
$dates[$key] = $row['date_start'];
}
array_multisort($score, SORT_ASC, $dates, SORT_ASC, $data);
三,。这个例子很好地解释了这一点
干杯