-1

我有大约 45 个不同的值需要添加,并且为了避免出现很长的variable + variable + variable,我正在寻找一种将它们垂直添加以使其更易于阅读的方法。

我唯一能想到的就是将它们加载到数组中,但是有更好的方法吗?

$variable+

$variable+

$variable+

$variable+
4

3 回答 3

7

将它们全部加载到一个数组中,然后使用array_sum

于 2013-05-02T19:29:20.337 回答
1

这很脏,但如果你有一个通用的变量名模式,就像你说的最后 6-10 个字符。然后你可以这样做:

$postfixPatterns = array("xxxxxx", "yyyyyy");

$definedVars = get_defined_vars();

$sums = array_combine($postfixPatterns, array_fill(0, count($postfixPatterns), 0));

foreach ($definedVars as $cVarName => $cVar) {
    foreach ($postfixPatterns as $cPattern) {
        if (preg_match("/" . preg_quote($cPattern, "/") . "$/", $cVarName)) {
            $sums[$cVarName] += $cVar;
        }
    }
}

// var_dump($sums); --> array('xxxxxx' => sum of xxxxxx,
//                            'yyyyyy' => sum of yyyyyy);

当然,首先重构代码以将值存储在数组中会更好!

于 2013-05-02T19:39:10.047 回答
0

您也可以使用以下语法:

$sum  = $var1;
$sum += $var2;
$sum += $var3;
...
于 2013-05-02T22:42:31.323 回答