请教一个php多维数组排序问题
本文介绍了请教一个php多维数组排序问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
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');
这篇关于请教一个php多维数组排序问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文