Пара моментов, чтобы прояснить ситуацию:
- В php вы объединяете строки, используя операторы
.
или .=
а не оператор +=
. Последний только складывает числовые
значения переменных.
- Вы не можете объединить имена переменных и ожидать, что они будут действовать как другая переменная. Например: ожидание $ затрат. $ I как-то перевести на
$ Expenses_1. То, что вы делаете с помощью оператора
.
, это
объединенная переменная значения , а не ее имя .
- Если вы хотите перебрать список переменных, каждая из которых названа по-разному, удобнее создать массив с переменными
все значения включены и хорошо структурированы.
Чтобы ответить на ваш конкретный вопрос:
Используйте массив массивов для хранения всей информации:
<?php
$expenses = [0 => ['name' => 'ExpenseName1',
'price' => 'ExpensePrice1'],
1 => ['name' => 'ExpenseName2',
'price' => 'ExpensePrice2'],
2 => ['name' => 'ExpenseName3',
'price' => 'ExpensePrice3'],
3 => ['name' => 'ExpenseName4',
'price' => 'ExpensePrice4'],
4 => ['name' => 'ExpenseName5',
'price' => 'ExpensePrice5']];
$i = 0;
while($i < 5):?>
<tr id="<?= $i; ?>" >
<td class="hidden-xs"><?= $expenses[$i]['name']; ?></td>
<td class="hidden-xs"><?= $expenses[$i]['price']; ?> €</td>
</tr>
<?php
$i++;
endwhile;
?>
Что дает вам:
<tr id="0" >
<td class="hidden-xs">ExpenseName1</td>
<td class="hidden-xs">ExpensePrice1 €</td>
</tr>
<tr id="1" >
<td class="hidden-xs">ExpenseName2</td>
<td class="hidden-xs">ExpensePrice2 €</td>
</tr>
<tr id="2" >
<td class="hidden-xs">ExpenseName3</td>
<td class="hidden-xs">ExpensePrice3 €</td>
</tr>
<tr id="3" >
<td class="hidden-xs">ExpenseName4</td>
<td class="hidden-xs">ExpensePrice4 €</td>
</tr>
<tr id="4" >
<td class="hidden-xs">ExpenseName5</td>
<td class="hidden-xs">ExpensePrice5 €</td>
</tr>