某公司面试题,想了半个小时没思路。$arr = [
[4, 5, 9, 4, 1],
[11, 14, 9, 6, 20],
[21, 44, 90, 16, 21],
[16, 34, 99, 600, 230],
[121, 18, 89, 60, 33]
]对以上数组排序,数组 $arr[0][0] 为最大值,$arr[4][4] 为第二大,$arr[0][1] 为第三大,以此类推,$arr[2][2]为最小值4、33、5、60~~~90
1 回答
SMILET
TA贡献1796条经验 获得超4个赞
$arr = [
[4, 5, 9, 4, 1],
[11, 14, 9, 6, 20],
[21, 44, 90, 16, 21],
[16, 34, 99, 600, 230],
[121, 18, 89, 60, 33]
];foreach ($arr as &$v) {
rsort($v);
$l = $r = []; foreach ($v as $key => $value) { if ($key & 1) {
array_unshift($r, $value);
} else {
$l[] = $value;
}
}
$v = array_merge($l, $r);
}
var_dump($arr);在@Masterton的基础上做了些许修改
- 1 回答
- 0 关注
- 633 浏览
添加回答
举报
0/150
提交
取消
