2009-05-06 3 views
3
<?php 

$i = 0; 

while(conditionals...) { 

if($i == 0) 
    print "<p>Show this once</p>"; 

print "<p>display everytime</p>"; 
$i++; 
} 
?> 

Будет ли это показывать только «Показывать это один раз» в первый раз и только в это время и показывать «отображение каждый раз», пока цикл while проходит?Показать текст один раз в течение цикла в первом цикле

+2

Почему бы не просто запустить его самостоятельно и посмотреть, работает ли он? –

+0

Я задавал этот вопрос другому человеку и отправил им URL-адрес, чтобы просмотреть ответ. – Brad

ответ

10

Да, действительно.

Вы также можете комбинировать если и приращение, так что вы не будете забывать увеличивать:

if (!$i++) echo "Show once."; 
2

Да, пока ничего в цикле не устанавливает $ я обратно в 0

1

Да он будет, если только условия не являются ложными с самого начала, или $ i было установлено в 0 внутри цикла

5

Вместо того, чтобы увеличивать его каждый раз, когда цикл запускается и тратит бесполезный ресурс, вы можете сделать это, если значение равно 0 в первый раз, затем распечатайте инструкцию и сделайте значение переменная как ненулевая. Также как флаг. Условие, вы не меняете значение переменной между контуром где-то. Что-то вроде этого:

<?php 

    $i = 0; 

    while(conditionals...) { 

     if($i == 0){ 
     print "<p>Show this once</p>"; 
     $i=1; 
     } 

     print "<p>display everytime</p>"; 
    } 
?> 
+0

Добавление ненулевого значения внутри цикла работало для меня !! спасибо –

Смежные вопросы