[PHP] 반복문

Jeon·2021년 8월 8일

PHP

목록 보기
3/7

1. 반복문이란?

  • 동일한 작업을 여러번 반복해야 할 때, 컴퓨터가 해당 작업을 사용자 대신 반복하도록 만드는 코드
  • 예를 들어 숫자를 1부터 5,000까지 출력해야 할 때, 이를 사용자가 직접 하는 것이 아닌, 반복문을 통해 컴퓨터가 일할 수 있게 만들 수 있다.
  • 종류에는 while문, do~while문, for문이 있다.

2. while문

문법

예제

1. 구구단 표 만들기

// PHP code
<!-- 구구단 만들기 -->
<?php
$front_number = $_REQUEST["front_number"];
$back_number = 1;
if ($front_number > 99){
    print "최대 99단까지 지원합니다.";
    return false;
} else {
    print "<h3>결과</h3>";
}
while($back_number <= 99){
    $result = $front_number * $back_number;
    print "
           <table border='1'>
            <tr><td>$front_number X $back_number = $result</td></tr>
           </table>
           ";
    $back_number ++;
}
?>
<!DOCTYPE html>
<html>
<head lang="ko">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>
    구구단 표
  </title>
</head>
<body>
<form action = while_sentence.php>
  <h1>구구단 생성기</h1>
  최대 99단까지 지원합니다.(99 x 99)<p>
  <input type="number" name="front_number" placeholder="단수를 입력하세요"><p>
  <input type="submit" value="구구단 만들기"><br>
</form>
</body>
</html>
  • 결과

3. for문

문법

기본적으로 JS와 비슷하다.

//문법
for(변수 =; 변수 <=; 변수 ++){
	실행할 코드
    }

예시

1. 구구단 표 while문을 for문으로 변환하기

for ($back_number = 1; $back_number <= 99; $back_number ++){
    $result = $front_number * $back_number;
    print "
           <table border='1'>
            <tr><td>$front_number X $back_number = $result</td></tr>
           </table>";
}

2. 게시판 목록(row) 생성

<!DOCTYPE html>
<html>
<head lang="ko">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
    <title>게시판</title>
</head>
<body>
  <h3>게시판 목록보기</h3>
  <table border="1">
    <tr bgcolor="#f0ffff" align="center">
        <td>번호</td>
        <td>제목</td>
        <td>글쓴이</td>
        <td>날짜</td>
    </tr>
    <?php
        $title = "게시판 제목";
        $writer = "전영진";
        $date = date("Y-m-d", time()); // PHP의 내장함수

        for ($num = 1; $num <= 10; $num ++){
            print "<tr align='center'>
                        <td>$num</td>
                        <td>$title $num</td>
                        <td>$writer</td>
                        <td>$date</td>
                    </tr>";
        }
    ?>
  </table>
</body>
</html>
  • 결과

3. 별(*) 찍기

<?php
    for($a = 1;$a <= 10; $a++){
        for($b = 1;$b <= $a; $b++){
            print "* "; // 최초에는 a가 1이니까 b도 1이므로 * 1개 출력. 다음부턴 a=2, b=2니까 * 2개 출력 ... 10까지만 반복
        }
        print "<br>"; // 두번째 for문이 종료되면 <br>로 줄바꿈 처리
    }
?>
  • 결과

4. do~while문

문법

  • do~while문은 while문과 차이가 있다. do~while은 일단 반복문을 1회 반드시 실행하고, 다음 조건을 확인한다. while문은 먼저 조건을 확인하고 반복문을 실행하는 것과는 차이가 있음.

예시

<?php
    $i = 100;

    do {
        print $i."<br>"; // 일단 실행 -> 결과 100
    } while ($i <= 10); // 조건 확인 결과 조건에 맞지 않으므로 종료.
    // 최종 결과 : 100
?>
<?php
    $a = 10;

    do {
        print $a."<br>";
        $a++;
    } while($a <= 20); // 최종 결과 : 10부터 20까지 찍힘
?>
profile

0개의 댓글