PHP / 반복문 / while, do-while, for

while

문법

while ( condition ) {
  statement;
}

condition을 만족할 때까지 중괄호 안에 있는 statement를 실행합니다.

중괄호 대신 콜론(:)과 endwhile을 사용할 수도 있습니다.

while ( condition ) :
  statement;
endwhile;

예제

<?php
  $i = 1;               // 초기값 설정
  while ( $i < 10 ) {   // 조건을 만족하면 실행, 만족하지 않으면 빠져나감
    echo $i;            // $i의 값 출력
    $i++;               // 1씩 증가
  }
?>

123456789가 출력됩니다.

do-while

문법

do {
  statement;
} while ( condition );

condition을 만족할 때까지 중괄호 안에 있는 statement를 실행합니다.

while은 조건 만족 여부를 먼저 검사하고 실행하는 반면, do-while은 실행을 먼저 하고 조건 만족 여부를 검사합니다.

예제

<?php
  $i = 1;                // 초기값 설정
  do {
    echo $i;             // $i의 값 출력
    $i++; // 1씩 증가
  } while ( $i < 10 );   // 조건을 만족하면 위의 코드 실행, 만족하지 않으면 빠져나감
?>

123456789를 출력합니다.

for

문법

for ( expr1; expr2; expr3 ) {
  statement;
}

expr1을 실행합니다.

expr2를 만족하는지 검사합니다.

expr2를 만족하면 statement를 실행하고, expr3을 실행합니다.

expr2를 만족하지 않으면 빠져나옵니다.

중괄호 대신 콜론(:)과 endfor를 사용할 수도 있습니다.

for ( expr1; expr2; expr3 ) :
  statement;
endfor;

예제

<?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>

같은 카테고리의 다른 글
PHP / 함수 / implode() / 배열을 하나의 문자열로 만드는 함수

PHP / 함수 / implode() / 배열을 하나의 문자열로 만드는 함수

개요 implode()는 배열에 속한 문자열을 하나의 문자열로 만드는 함수입니다. PHP 4 이상에서 사용할 수 있습니다. 문법 implode ( glue, pieces ) glue : 배열의 원소 사이에 들어갈 문자열입니다. pieces : 배열입니다. $jbary = array( 'one', 'two', 'three' ); $jbstr = implode( '/', $jbary ); 원소 사이에 /을 넣어 하나의 문자열로 만듭니다. 즉 $jbstr은 one/two/three입니다. 예제 <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>PHP</title> <style> body { font-family: ...

PHP / 연산자 / 할당 연산자

PHP / 연산자 / 할당 연산자

PHP의 할당 연산자는 =이다. 등호 오른쪽을 등호 왼쪽에 저장한다.('같다'를 표현할 때는 ==를 사용한다.) 변수 a에 10을 할당한다. $a = 10; 여러 번 할당하면 마지막에 할당된 것이 값이 된다. 즉 변수 a의 값은 20이다. $a = 10; $a = 20; 기존 값을 사용할 수 있다. 변수 a의 값은 20이다. $a = 10; $a = $a + 10;

PHP / 변수 / 유동 변수(변수 안에 변수) 만드는 방법

PHP / 변수 / 유동 변수(변수 안에 변수) 만드는 방법

변수를 일정 규칙에 따라 자동으로 만들어야 할 때가 있다. 이런 변수를 유동 변수라고 하는 거 같은데, 공식 용어인지는 잘 모르겠다. 유동 변수를 만들려고 하면 변수 이름을 만들 때 변수를 넣어야 한다. 예를 들어 변수 이름에 $var라는 이름을 넣고 싶다면 다음과 같이 한다. ${$var} 아래는 변수 이름에 일련 번호를 붙이는 예제이다. 배열의 값을 일련 ...

PHP / include(), include_once(), require(), require_once() / 외부 파일 포함하는 함수

PHP / include(), include_once(), require(), require_once() / 외부 파일 포함하는 함수

여러 파일에 공통적으로 사용하는 코드는 별도의 파일로 만든 후 각 파일에서 불러오는 것이 좋습니다. 코드의 양이 줄어들고, 수정이 용이하기 때문입니다. 외부 파일을 포함하는 함수는 네 가지가 있습니다. include 같은 파일 여러 번 포함 가능 / 포함할 파일이 없어도 다음 코드 실행 include_once 같은 파일 한 번만 포함 / 포함할 파일이 없어도 다음 코드 실행 require 같은 파일 ...

PHP / 연산자 / 산술 연산자

PHP / 연산자 / 산술 연산자

PHP의 산술 연산자에는 +, -, *, /, %, **이 있습니다. - $a $a의 부호를 반대로 바꿉니다. <?php   $a = 10;   echo - $a; ?> -10을 출력합니다. $a + $b $a와 $b를 더합니다. <?php $a = 10; $b = 4; echo $a + $b; ?> 14를 출력합니다. $a - $b $a에서 $b를 뺍니다. <?php $a = 10; $b = ...

PHP / Session / 로그인, 로그아웃, 로그인 상태에서만 보이는 콘텐츠 만들기

PHP / Session / 로그인, 로그아웃, 로그인 상태에서만 보이는 콘텐츠 만들기

PHP의 세션을 이용하여 로그인, 로그아웃을 만들 수 있습니다. 그리고 로그인한 사용자만 볼 수 있는 콘텐츠를 만들 수도 있습니다. 다음은 이를 구현한 아주 간단한 예제입니다. inc_head.php 모든 페이지에 들어갈 코드입니다. include 함수로 각 페이지에서 불러올 것입니다. 세션의 username 값이 있다면, 즉 로그인 상태라면 $jb_login에 TRUE를 할당합니다. <?php session_start(); if( isset( $_SESSION ...

PHP / 메모

PHP / 메모

HTML 확장자에서도 PHP 코드 실행시키는 방법 PHP는 보통 확장자가 php인 파일에서 실행됩니다. 하지만 설정을 추가하여 다른 확장자 파일에서도 php가 실행되도록 할 수 있습니다. 만약 아파치 웹서버에서, 확장자가 html인 파일에서도 php가 실행되도록 하려면, 설정 파일에 다음 코드를 추가합니다. AddType application/x-httpd-php .html

PHP / 조건문 / switch

PHP / 조건문 / switch

switch는 하나의 변수를 여러 값과 비교할 때 유용한 조건문입니다. 문법 switch ( $var ) { case value1: statement1; break; case value2: statement2; break; ... default: statement3; } $var의 값을 value1과 비교하여 value1과 같으면 statement1을 실행하고 ...

PHP / 연산자 / 증가 연산자, 감소 연산자

PHP / 연산자 / 증가 연산자, 감소 연산자

++$a 값을 증가시킨 후 $a를 반환합니다. 예를 들어 $a = 1; echo ++$a; 는 2를 출력합니다. $a++ $a를 반환한 후 값을 증가시킵니다. 예를 들어 $a = 1; echo $a++; 은 1을 출력하고, $a의 값은 2가 됩니다. --$a 값을 감소시킨 후 $a를 반환합니다. 예를 들어 $a = 1; echo --$a; 는 0을 출력합니다. $a-- $a를 반환한 후 값을 감소시킵니다. 예를 들어 $a = 1; echo $a--; 는 1을 출력하고, $a의 값은 0이 됩니다. 알파벳 알파벳도 증가 ...

PHP / 다른 페이지로 리디렉션(Redirection)하는 방법

PHP / 다른 페이지로 리디렉션(Redirection)하는 방법

여러 가지 이유로 a.php로 접속했을 때 b.php로 자동 이동하게 만들어야 할 경우가 있습니다. 이를 보통 리디렉션(Redirection)이라고 하는데, PHP에서는 다음과 같은 코드로 리디렉션을 구현할 수 있습니다. 다음과 같은 코드가 있는 페이지에 접속하면 https://www.codingfactory.net로 이동합니다. header( 'Location: https://www.codingfactory.net' ); 일정 시간 지난 후에 이동시키고 싶다면 sleep() 함수를 이용하세요. 다음은 5초 후 이동시키는 코드입니다. sleep( 5 ); header( ...