while 루프형은 if문처럼 단순히 참, 거짓에 의해 루프가 결정됩니다.
expression 조건식이 참"true"이면 내포되어있는 구문을 반복 수행하고 "false"이면 중지합니다. if문과 마찬가지로 대체문법인 "콜론 문법"이 가능합니다.
while (expression)
statement;
while (expression) {
statement;
}
while (expression) :
statement;
endwhile;
while 문도 중첩 사용이 가능합니다.
while (expression) {
statement;
while (expression) {
statement;
while (expression) {
statement;
}
}
}
while 루프형은 루프의 시작과 종료를 위해 증가, 감소인 제어 변수(control variables: $i++, $i--)를 자주 사용하게 됩니다.
그리고 break 문을 만나면 루프를 중지하고, continue 문을 만나면 처음부터 다시 while 문을 반복 수행하게 할 수 있습니다.
<?php
$i = 1;
while ($i <= 10) {
echo $i++, " \n";
}
?>
<?php
$i = 1;
while (true) {
if($i > 10)
break;
echo $i++;
}
?>
<?php
$arr = array("하", "보", "니", "p", "h", "p", "마", "스", "터");
reset($arr);
while (list(, $value) = each($arr)) {
echo "${value} \n";
}
?>
루프형 do-while
do-while 루프형은 적어도 한번은 실행하고 while 문에서 조건식을 비교합니다. 비교했을 때 "참"이라면 다시 while 루프를 진행합니다.
<?php
$i = 1;
do {
echo $i++, ' ';
if($i > 10)
break;
} while (true);
?>