PHP / Tutorial / 반복문 / while, do-while, for
PHP에서 반복문은 코드를 여러 번 실행해야 할 때 유용합니다. PHP에는 여러 종류의 반복문이 있으며, 각기 다른 상황에서 사용할 수 있습니다.
while
문법
while ( condition ) {
statement;
}
while ( condition ) {
statement;
}
while ( condition ) { statement; }
condition을 만족할 때까지 중괄호 안에 있는 statement를 실행합니다.
중괄호 대신 콜론(:)과 endwhile을 사용할 수도 있습니다.
while ( condition ) :
statement;
endwhile;
while ( condition ) :
statement;
endwhile;
while ( condition ) : statement; endwhile;
예제
<?php
$i = 1; // 초기값 설정
while ( $i < 10 ) { // 조건을 만족하면 실행, 만족하지 않으면 빠져나감
echo $i; // $i의 값 출력
$i++; // 1씩 증가
}
?>
<?php
$i = 1; // 초기값 설정
while ( $i < 10 ) { // 조건을 만족하면 실행, 만족하지 않으면 빠져나감
echo $i; // $i의 값 출력
$i++; // 1씩 증가
}
?>
<?php $i = 1; // 초기값 설정 while ( $i < 10 ) { // 조건을 만족하면 실행, 만족하지 않으면 빠져나감 echo $i; // $i의 값 출력 $i++; // 1씩 증가 } ?>
123456789가 출력됩니다.
do-while
문법
do {
statement;
} while ( condition );
do {
statement;
} while ( condition );
do { statement; } while ( condition );
condition을 만족할 때까지 중괄호 안에 있는 statement를 실행합니다.
while은 조건 만족 여부를 먼저 검사하고 실행하는 반면, do-while은 실행을 먼저 하고 조건 만족 여부를 검사합니다.
예제
<?php
$i = 1; // 초기값 설정
do {
echo $i; // $i의 값 출력
$i++; // 1씩 증가
} while ( $i < 10 ); // 조건을 만족하면 위의 코드 실행, 만족하지 않으면 빠져나감
?>
<?php
$i = 1; // 초기값 설정
do {
echo $i; // $i의 값 출력
$i++; // 1씩 증가
} while ( $i < 10 ); // 조건을 만족하면 위의 코드 실행, 만족하지 않으면 빠져나감
?>
<?php $i = 1; // 초기값 설정 do { echo $i; // $i의 값 출력 $i++; // 1씩 증가 } while ( $i < 10 ); // 조건을 만족하면 위의 코드 실행, 만족하지 않으면 빠져나감 ?>
123456789를 출력합니다.
for
문법
for ( expr1; expr2; expr3 ) {
statement;
}
for ( expr1; expr2; expr3 ) {
statement;
}
for ( expr1; expr2; expr3 ) { statement; }
expr1을 실행합니다.
expr2를 만족하는지 검사합니다.
expr2를 만족하면 statement를 실행하고, expr3을 실행합니다.
expr2를 만족하지 않으면 빠져나옵니다.
중괄호 대신 콜론(:)과 endfor를 사용할 수도 있습니다.
for ( expr1; expr2; expr3 ) :
statement;
endfor;
for ( expr1; expr2; expr3 ) :
statement;
endfor;
for ( expr1; expr2; expr3 ) : statement; endfor;
예제
<?php
for ( $i = 1; $i < 10; $i++ ) {
echo $i;
}
?>
<?php
for ( $i = 1; $i < 10; $i++ ) {
echo $i;
}
?>
<?php for ( $i = 1; $i < 10; $i++ ) { echo $i; } ?>
123456789를 출력합니다.
구구단 만들기
반복문 안에 반복문을 넣을 수 있습니다.
다음은 각 반복문으로 구구단의 1단부터 3단까지 출력하는 예제입니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
<style>
body {
font-family: Consolas, monospace;
font-style: italic;
}
h1 {
font-size: 20px;
}
table {
width: 100%;
}
</style>
</head>
<body>
<table>
<tr>
<td>
<h1><code>while</code></h1>
<?php
$i = 1;
while ( $i < 4 ) {
$j = 1;
while ( $j < 10 ) {
echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>';
$j++;
}
$i++;
}
?>
</td>
<td>
<h1><code>do-while</code></h1>
<?php
$i = 1;
do {
$j = 1;
do {
echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>';
$j++;
} while ( $j < 10 );
$i++;
} while ( $i < 4 );
?>
</td>
<td>
<h1><code>for</code></h1>
<?php
for( $i = 1; $i < 4; $i++ ) {
for( $j = 1; $j < 10; $j++ ) {
echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>';
}
}
?>
</td>
</tr>
</table>
</body>
</html>
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
<style>
body {
font-family: Consolas, monospace;
font-style: italic;
}
h1 {
font-size: 20px;
}
table {
width: 100%;
}
</style>
</head>
<body>
<table>
<tr>
<td>
<h1><code>while</code></h1>
<?php
$i = 1;
while ( $i < 4 ) {
$j = 1;
while ( $j < 10 ) {
echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>';
$j++;
}
$i++;
}
?>
</td>
<td>
<h1><code>do-while</code></h1>
<?php
$i = 1;
do {
$j = 1;
do {
echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>';
$j++;
} while ( $j < 10 );
$i++;
} while ( $i < 4 );
?>
</td>
<td>
<h1><code>for</code></h1>
<?php
for( $i = 1; $i < 4; $i++ ) {
for( $j = 1; $j < 10; $j++ ) {
echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>';
}
}
?>
</td>
</tr>
</table>
</body>
</html>
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>PHP</title> <style> body { font-family: Consolas, monospace; font-style: italic; } h1 { font-size: 20px; } table { width: 100%; } </style> </head> <body> <table> <tr> <td> <h1><code>while</code></h1> <?php $i = 1; while ( $i < 4 ) { $j = 1; while ( $j < 10 ) { echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>'; $j++; } $i++; } ?> </td> <td> <h1><code>do-while</code></h1> <?php $i = 1; do { $j = 1; do { echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>'; $j++; } while ( $j < 10 ); $i++; } while ( $i < 4 ); ?> </td> <td> <h1><code>for</code></h1> <?php for( $i = 1; $i < 4; $i++ ) { for( $j = 1; $j < 10; $j++ ) { echo $i . ' × ' . $j . ' = ' . $i * $j . '<br>'; } } ?> </td> </tr> </table> </body> </html>