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 ) ))
回複內容:
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
自訂定序