如何分配一个数字来访问分配的数组值



我将结果存储在多维数组中,某些值由具有数值的变量标识,例如$end 1 = "2017-01-08";每个日期下大约有 10 个类别,用于存储一个数值。我需要遍历 $end 1 下的所有值才能获得总数。

这有效:

foreach($results[$key][$end1] as $type => $amount) {
    $total1 += $amount[$value];
}

但是现在我有一堆这样的 foreach 语句 - 我需要的每个总数一个 - 我想将它们合并到一个块中,但我无法正确获得变量名称。

这不起作用:

    for($i = 1; $i <= 4; $i++){
        $target = "$end$i";
        $targettotal = "$total$i";
        foreach($results[$key][$target] as $type => $amount) {
            $targettotal += $amount[$value];
        }            
    }

如何修复/定义$target和$targettotal以便可以访问数组值?

请看下面的演示,注意下一行中对$targetVarName的评估,方法是在它前面加上另一个美元符号。

<?php
$item1 = 'aaa';
$item2 = 'bbb';
$item3 = 'ccc';
$item4 = 'ddd';
$item5 = '333';
for ($i = 1; $i < 6; $i++) {
    $targetVarName = 'item' . $i;
    echo $targetVarName .' => '. $$targetVarName . "n";
}

这将输出如下内容:

item1 => aaa
item2 => bbb
item3 => ccc
item4 => ddd
item5 => 333

最新更新