php-for while循环中的循环,语法正确吗?

php-for while循环中的循环,语法正确吗?,php,for-loop,while-loop,Php,For Loop,While Loop,我有这个环 while (count($arr) < 7) { $string = 'xx'; for ($i=0; strlen($string) < 4; $i++) { $string = $string.'1'; } echo "<br>array length is less than 7, w

我有这个环

while (count($arr) < 7)
        {

            $string = 'xx';
            for ($i=0; strlen($string) < 4; $i++)
            {
                $string = $string.'1';
            }
            echo "<br>array length is less than 7, word $string is created.";
            $arr[] = $string;
        }
while(计数($arr)<7)
{
$string='xx';
对于($i=0;strlen($string)<4;$i++)
{
$string=$string.1';
}
echo“
数组长度小于7,已创建单词$string。”; $arr[]=$string; }
每次我运行这部分代码时,我的xampp本地服务器都会超时,并给出服务器未找到错误

我发现,如果我删除
for
循环的内部
,它将正常运行。将
for
循环放入
while
循环中有什么问题吗

另外,我在
for
循环中的条件语句
strlen($string)<4
没有任何对
$i
变量的引用,但是我没有看到任何不符合逻辑的事情,即条件语句与计数器无关。我错了吗?这需要与柜台进行某种比较吗


TIA

在一段时间内做一次手术没什么错

你的“for”应该更清楚一点

while(strlen($string) < 4) {
    $string = $string.'1';
}
while(strlen($string)<4){
$string=$string.1';
}

我看不出您的php有任何问题

我完全复制了你的代码,根本没有无限循环

我得到的结果如下:

<br>array length is less than 7, word xx11 is created.
<br>array length is less than 7, word xx11 is created.
<br>array length is less than 7, word xx11 is created.
<br>array length is less than 7, word xx11 is created.
<br>array length is less than 7, word xx11 is created.
<br>array length is less than 7, word xx11 is created.
<br>array length is less than 7, word xx11 is created.


您从未使用过
$i
,因此可以将其更改为
,而(strlen($string)<4)
服务器未找到错误??这和php语法有什么关系?我完全看不出它有什么问题。。我会继续看的,我想……乍一看它看起来不错&与嵌套循环无关。我个人使用NetBeans;您可以选择Eclipse、Zend等。但是,如果您没有一个调试器来逐步调试代码,您就走不了多远了。Nick,她可能想稍后再使用它。它没有什么问题,除非你怀疑它是导致错误的原因。。唯一可能导致错误的方法是,如果$string之前通过引用分配给它,我对此表示怀疑$string=&$i会导致这样的错误…谢谢John,我之所以有$i是因为我使用$i作为数组索引,这部分代码被遗漏了。好吧,你的PHP是有效的,对我来说是有效的-问题一定在别处(可能在你遗漏的一些代码中?)再次感谢,我正在浏览我省略的很短的代码,看看是否还有其他东西。至少我知道错误不是由循环引起的。感谢Brian测试代码,我编辑代码是为了用作示例,而不是真正的代码。
$string = $string.'1';
$string .= '1';