$a = array(2, 6, 24, 16, 7, 10);
我知道如何使用array_sum()
添加所有数字,但如果我只想添加2
和16
之间的数字怎么办呢?
这是我提出的解决方案之一:
$a = array(2, 6, 24, 16, 7, 10);
$r = array_slice($a, 0, -2);
print_r (array_sum($r));
只想知道是否有其他方法可以获得结果。
答案 0 :(得分:0)
要处理动态范围限制,您可以使用array_slice
函数扩展初始方法(array_sum
+ array_search
):
$arr = [2, 6, 24, 16, 7, 10];
$a = 10;
$b = 24;
$lowerBound = array_search($a, $arr);
$upperBound = array_search($b, $arr);
if (($low = $lowerBound) > $upperBound) { // if bounds were confused
$lowerBound = $upperBound;
$upperBound = $low;
}
$sum = array_sum(array_slice($arr, $lowerBound, $upperBound - $lowerBound + 1));
print_r($sum); // 57