我将结果存储在多维数组中,某些值由具有数值ex的变量标识。 $ end1 =" 2017-01-08&#34 ;;每个日期下面有大约10个存储数值的类别。 我需要循环通过$ end1下的所有值来获得总数。
这有效:
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以便可以访问数组值?
答案 0 :(得分:2)
看看下面的演示,请在下一行中注意 $ 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