php一个二维数组,以数组之和进行排序,只要和为前五项的数组
时间: 2024-03-11 19:50:44 浏览: 77
php对二维数组进行相关操作(排序、转换、去空白等)
可以使用 PHP 中的 `usort()` 函数,结合自定义的比较函数,对二维数组进行排序。具体实现如下:
```php
<?php
$arr = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9),
array(10, 11, 12),
array(13, 14, 15),
array(16, 17, 18),
array(19, 20, 21),
);
function cmp($a, $b) {
$sum_a = array_sum($a);
$sum_b = array_sum($b);
if ($sum_a == $sum_b) {
return 0;
}
return ($sum_a < $sum_b) ? -1 : 1;
}
usort($arr, "cmp");
$result = array();
$sum = 0;
foreach ($arr as $a) {
$sum += array_sum($a);
if (count($result) < 5) {
$result[] = $a;
}
}
echo "前五项数组之和为:$sum\n";
echo "前五项数组为:\n";
print_r($result);
?>
```
以上代码中,`cmp()` 函数用于比较两个数组的和大小。`usort()` 函数将二维数组按照和大小进行排序。最后,使用循环将前五项数组加入到 `$result` 数组中,并计算它们的和。最后输出前五项数组和及数组内容即可。
阅读全文