$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), );用php输出数组之和top5的数组
时间: 2023-09-11 22:08:41 浏览: 56
可以通过以下代码实现:
```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) {
return array_sum($b) - array_sum($a);
}
usort($arr, "cmp");
$sum = 0;
$result = array();
foreach ($arr as $a) {
$sum += array_sum($a);
if (count($result) < 5) {
$result[] = $a;
}
}
echo "数组之和 Top5 的数组为:\n";
print_r($result);
echo "数组之和为:$sum\n";
```
代码中,首先定义了一个自定义比较函数 `cmp()`,用于按照数组之和进行排序。然后使用 `usort()` 函数对数组进行排序。最后,使用循环计算前五项数组之和,并将前五项数组存储到 `$result` 数组中。最后输出前五项数组及它们的和。
相关问题
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(2, 3, 6, 7, 8); $arr3 = array(3, 4, 5, 9, 10);,如何得到不重复数字或组合是5,6,8,9
您可以使用PHP中的array_intersect()函数和array_unique()函数来得到不重复的数字或组合。具体实现代码如下:
```
$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(2, 3, 6, 7, 8);
$arr3 = array(3, 4, 5, 9, 10);
// 得到3个数组的交集
$intersect = array_intersect($arr1, $arr2, $arr3);
// 去重
$unique = array_unique($intersect);
// 输出结果
echo implode(',', $unique); // 输出5,8
```
上述代码中,array_intersect()函数用于得到3个数组的交集,即得到在三个数组中都出现过的数字。然后使用array_unique()函数去重得到不重复的数字或组合。最后使用implode()函数将数组转换为字符串并输出结果。
用for循环法计算这个PHP$arr=array(1,2,3,4,5,6,7,8,9,10);
可以使用以下代码来计算$arr数组的和:
$sum = 0;
for ($i = 0; $i < count($arr); $i++) {
$sum += $arr[$i];
}
echo "数组的和为:".$sum;