该脚本应该获取一个多维数组并遍历这些值。
数组大小为 10,每个元素应包含一个关联数组:
$games[0] => array('foo' => 'bar')
$games[1] => array('foo1' => 'bar1')
etc..
在此示例中,while 循环应迭代 5 次。for 循环应该为 while 循环的每次迭代迭代 10 次。
所以我期待回声是:
countwhile = 5 countfor = 50 totalgames = 50
但我实际上得到
countwhile = 5 countfor = 150 totalgames = 150
我相信 $games 数组不是问题,因为我之前已经在下面进行过调用并使用 print_r 查看内容,并且符合预期。
整个代码不像我的 index.php 页面那样在函数或类中,问题可能与变量范围有关吗?
$totalruns = 5;
$endindx = 10;
$startindx = 0;
$countwhile = 0;
$countfor = 0;
$totalfilesize = 0;
$totalgames = 0;
$sizeof = 0;
while($totalruns > 0)
{
$games = $feedHandler->getGames($startindx, $endindx);
$sizeof = sizeof($games);
for($i=0; $i<$sizeof; $i++)
{
$totalfilesize += $games[$i]['swf_file_size'];
$countfor++;
}
$startindx += 10;
$endindx += 10;
$totalruns -= 1;
$totalgames += $sizeof;
unset($games);
}
echo'<p>' . ' countwhile = ' . $countwhile . ' countfor = ' . $countfor . '</p>';