如何在php中添加数组中的特定数字

时间:2016-06-25 17:39:06

标签: php

$a = array(2, 6, 24, 16, 7, 10);

我知道如何使用array_sum()添加所有数字,但如果我只想添加216之间的数字怎么办呢?

这是我提出的解决方案之一:

    $a = array(2, 6, 24, 16, 7, 10);
    $r = array_slice($a, 0, -2);
    print_r (array_sum($r));

只想知道是否有其他方法可以获得结果。

1 个答案:

答案 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