【发布时间】:2015-12-30 16:47:29
【问题描述】:
我的脚本有一个奇怪的行为,foreach 循环只有在我回显结果时才会停止,所以它只会继续插入值......只有在我使用 echo 来显示一些迭代时才会停止......下面是重要的部分代码:
$looparray=array
(
"1"=>array(
"something1",
"something2",
"something3",
),
"2"=>array(
),
"3"=>array(
),
"4"=>array(
),
"5"=>array(
),
"6"=>array(
)
);
foreach ($looparray as $key => $value) {
if(count($value)=='0') // skip empty arrays
{
continue;
}
foreach ($value as $singlevalue) {
for ($i=0; $i<=5; $i++)
{
echo $i . '<br />'; //if i don't use it, neverending loop ?!
}
}
}
所以,如果我没有回显,那么循环不会在 5 处停止……当然,我在内部 for 循环中有很多停止,但这些并不重要……那为什么会发生呢?
【问题讨论】:
-
你的 for 循环是正确的。我在没有 echo 语句的情况下运行了您的代码,并且它在没有无限循环的情况下正常完成。在你的其余代码中一定有其他事情发生。
-
当然,我在内部 for 循环中有很多停止,但这些并不重要它们可能是。如果这不是您的完整代码,那将很难为您提供帮助...