时间:2021-07-01 10:21:17 帮助过:5人阅读
Array
(
[5] => Array
(
[0] => Array
(
[num] => 840
[time] => 2015-10
[ads_id] => 5
)
[1] => Array
(
[num] => 684
[time] => 2015-11
[ads_id] => 5
)
)
[6] => Array
(
[0] => Array
(
[num] => 23
[time] => 2015-10
[ads_id] => 6
)
[1] => Array
(
[num] => 37
[time] => 2015-11
[ads_id] => 6
)
)
[7] => Array
(
[0] => Array
(
[num] => 280
[time] => 2015-10
[ads_id] => 7
)
[1] => Array
(
[num] => 343
[time] => 2015-11
[ads_id] => 7
)
)
)
最终实现排序如下:
Array
(
[5] => Array
(
[0] => Array
(
[num] => 840
[time] => 2015-10
[ads_id] => 5
)
[1] => Array
(
[num] => 684
[time] => 2015-11
[ads_id] => 5
)
)
[7] => Array
(
[0] => Array
(
[num] => 280
[time] => 2015-10
[ads_id] => 7
)
[1] => Array
(
[num] => 343
[time] => 2015-11
[ads_id] => 7
)
)
[6] => Array
(
[0] => Array
(
[num] => 23
[time] => 2015-10
[ads_id] => 6
)
[1] => Array
(
[num] => 37
[time] => 2015-11
[ads_id] => 6
)
)
)
php新手请教一个问题;
原数组结构如下,原数组是按ads_id,time进行排序;
现在的需求是根据二维数组的num总和重新进行排序
Array
(
[5] => Array
(
[0] => Array
(
[num] => 840
[time] => 2015-10
[ads_id] => 5
)
[1] => Array
(
[num] => 684
[time] => 2015-11
[ads_id] => 5
)
)
[6] => Array
(
[0] => Array
(
[num] => 23
[time] => 2015-10
[ads_id] => 6
)
[1] => Array
(
[num] => 37
[time] => 2015-11
[ads_id] => 6
)
)
[7] => Array
(
[0] => Array
(
[num] => 280
[time] => 2015-10
[ads_id] => 7
)
[1] => Array
(
[num] => 343
[time] => 2015-11
[ads_id] => 7
)
)
)
最终实现排序如下:
Array
(
[5] => Array
(
[0] => Array
(
[num] => 840
[time] => 2015-10
[ads_id] => 5
)
[1] => Array
(
[num] => 684
[time] => 2015-11
[ads_id] => 5
)
)
[7] => Array
(
[0] => Array
(
[num] => 280
[time] => 2015-10
[ads_id] => 7
)
[1] => Array
(
[num] => 343
[time] => 2015-11
[ads_id] => 7
)
)
[6] => Array
(
[0] => Array
(
[num] => 23
[time] => 2015-10
[ads_id] => 6
)
[1] => Array
(
[num] => 37
[time] => 2015-11
[ads_id] => 6
)
)
)
function mySort($a, $b) {
$sumA = 0;
$sumB = 0;
foreach($a as $ele) {
$sumA += $ele['num'];
}
foreach($b as $ele) {
$sumB += $ele['num'];
}
return $sumB < $sumA;
}
usort($arr, 'mySort');
使用 usort
自定义排序规则