Как заставить функцию foreach() или while() работать корректно?
<php
$arr=array('test1'=>array('ww'=>array(0,0,0,0),'wq'=>array(1,0,0,0),'qe'=>array(0,0,0,0),'wq'=>array(20,0,0,0)), 'test2'=>array('re'=>array(25480,0,0,0),'ee'=>array(0,0,0,0)));
foreach ($schet['test1'] as &$n) {
$s[0]=$n[0]+$s[0];
$s[1]=$n[1]+$s[1];
$s[2]=$n[2]+$s[2];
$s[3]=$n[3]+$s[3];
}
unset ($n);
?>
<table width="400" border="3" cellspacing="2" cellpadding="1">
<tr>
<th scope="col">Баланс</th>
<th scope="col"><? echo "$s[0]" ?></th>
<th scope="col"><? echo "$s[1]" ?></th>
<th scope="col"><? echo "$s[2]" ?></th>
<th scope="col"><? echo "$s[3]" ?></th>
</tr>
<?php #delaem avto stroki tablici
while (list ($key, $val)=each($arr['test1'])) { ?>
<tr>
<th scope="row"><? echo $key ?></th>
<td><? echo "$val[0]" ?></td>
<td><? echo "$val[1]" ?></td>
<td><? echo "$val[2]" ?></td>
<td><? echo "$val[3]" ?></td>
</tr>
<? } ?>
</table>
Вот сокращенный код. Но он не работает. Первый массив функция foreach()
обрабатывает как надо. Но уже следующая функция while()
отказывается работать с этим же массивом. Как решить задачу?
Источник: Stack Overflow на русском