对存储数字的二维数组,按照每个一维数组数字之和的平均值重新排序

newnoder 发布于 2014/07/28 23:45
阅读 283
收藏 0
PHP

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

$arr =array(
array(1,22,3,6,3),
array(4,16),
array(11,2,3),
array(3)
);

结果为

$arr =array(
array(4,16),
array(1,22,3,6,3),
array(11,2,3),
array(3)
)



$a=$new=array();
foreach($arr as $k=>$v){
$num=array_sum($v);
$a[$k]=$num/count($v);
}

arsort($a);
foreach ($a as $k=>$v){
        $new[$k] = $arr[$k];
         
    }
print_r($new);



还有其他更好方法吗?javascript也可以哈


加载中
0
fxhover
fxhover
usort(&$arr, function($v1, $v2){ return (array_sum($v1)/count($v1) > array_sum($v2)/count($v2)) ? -1 : 1;});
print_r($arr);



n
newnoder
非常nice,去掉&就不会出现error了
0
吾爱
吾爱
usort不错
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部