2011-04-16 141 views
1

为什么此循环会阻止我的页面工作?没有循环部分代码运行良好。循环它不会执行任何页面,也不会输出错误。这个while循环有什么问题?

$i = 0; 
while($i < 10) { 

echo '<div class="feedItem"> 
<div class="itemDetails"> 
<div class="innerDetails"> 
<span class="itemType">type</span> 
<span class="itemDate">date</span> 
</div> 
</div> 
<span class="itemTitle">test</span> 
<span class="itemCreator">by <a href="http://blankit.co.cc">chromedude</a></span> 
<div class="itemTagCloud"> 
<span class="itemSubject">English</span> 
<span class="itemTag">Test</span> 
<span class="itemTag">Poem</span> 
<span class="itemTag">Edgar Allen Poe</span> 
</div> 
</div>'; 

} 

回答

4

$i总是小于10(等于0),因为你永远改变其值。如果您只是要将该块打印10次,请尝试在循环底部添加$i++;。这样,它每增加一个$i一次。

+0

你的最后一行前右,增量I:$ I ++; – 2011-04-16 23:23:50

+0

$ i实际上从不小于零.. – halfdan 2011-04-16 23:23:50

+0

错字 - 小于10等于0.固定。 – RageD 2011-04-16 23:24:32

0

您应该在代码的末尾添加$i++,目前$i它总是小则10 =>无限循环..

0

你不增加$i内循环。这样你的条件永远是真实的,while循环永远不会退出。

加上$i++$i = $i + 1就在最后一个大括号之前,你会没事的。

0

在最后一个括号之前加上$i = $i + 1

0

您需要$增量I:

$i = 0; 
while($i < 10) { 
    echo '<div class="feedItem"> 
    <div class="itemDetails"> 
    <div class="innerDetails"> 
    <span class="itemType">type</span> 
    <span class="itemDate">date</span> 
    </div> 
    </div> 
    <span class="itemTitle">test</span> 
    <span class="itemCreator">by <a href="http://blankit.co.cc">chromedude</a></span> 
    <div class="itemTagCloud"> 
    <span class="itemSubject">English</span> 
    <span class="itemTag">Test</span> 
    <span class="itemTag">Poem</span> 
    <span class="itemTag">Edgar Allen Poe</span> 
    </div> 
    </div>'; 

    $i++; 
} 
0

你永远不增加$i!循环永远不会完成。在循环的末尾添加$i++

0
$i = -1; 

while (++$i < 10) { 
    // your code 
    } 

while ($i < 10) { 
    // your code 
    $i++; 
    }