Как назначить номер для доступа к присвоенному значению массива?

Я сохраняю результаты в многомерном массиве, некоторые значения идентифицируются переменными с числовым значением ex. $ end1 = "2017-01-08"; Каждая дата содержит около 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, чтобы значения массива были доступны?

php,arrays,variables,

1

Ответов: 1


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 . "
";
}

Это даст что-то вроде:

item1 => aaa
item2 => bbb
item3 => ccc
item4 => ddd
item5 => 333
PHP, массивы, переменные,
Похожие вопросы