Что не так с этим циклом while? - PullRequest
1 голос
/ 17 апреля 2011

Почему этот цикл останавливает работу моей страницы?без части цикла код работает нормально.С циклом он не выполняет ни одной страницы и не печатает ошибку.

$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>';

}

Ответы [ 7 ]

4 голосов
/ 17 апреля 2011

$i всегда меньше 10 (равно 0), поскольку вы никогда не меняете его значение.Если вы просто хотите, чтобы этот блок печатался 10 раза, попробуйте добавить $i++; внизу цикла.Таким образом, он увеличивает $i на одну каждую итерацию.

0 голосов
/ 17 апреля 2011
$i = -1;

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

или

while ($i < 10) {
  // your code
  $i++;
  }
0 голосов
/ 17 апреля 2011

Вы никогда не увеличиваете $i! Цикл никогда не завершится. Добавьте $i++ в конце цикла.

0 голосов
/ 17 апреля 2011

Вам нужно увеличить $ 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 голосов
/ 17 апреля 2011

добавьте $i = $i + 1 перед вашей последней скобкой.

0 голосов
/ 17 апреля 2011

Вы не увеличиваете $i внутри цикла. Таким образом, ваше условие всегда будет истинным, а цикл while никогда не завершится.

Добавьте $i++ или $i = $i + 1 непосредственно перед закрывающей фигурной скобкой, и все будет в порядке.

0 голосов
/ 17 апреля 2011

Вы должны добавить $i++ в конец кода, в настоящее время $i ВСЕГДА меньше, чем 10 => бесконечный цикл.

...