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 / 함수 / md5() / 문자열에서 md5 해시값 생성하는 함수

PHP / 함수 / md5() / 문자열에서 md5 해시값 생성하는 함수

개요 md5()는 문자열에서 md5 해시값을 생성하는 함수입니다. 해시값에서 원래의 문자열을 만들지는 못합니다. 문자열이 같다면 같은 해시값을 만드므로, 비밀번호를 암호화하여 저장하는 용도로는 맞지 않습니다. It is not recommended to use this function to secure passwords, due to the fast nature of this hashing algorithm. 문법 md5( string $str ) str : ...

PHP / 메모

PHP / 메모

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

PHP / Session / 세션 값 출력하는 방법

PHP / Session / 세션 값 출력하는 방법

세션(Session)에 값을 저장했을 때, 그 값을 출력하는 방법을 간단한 예제로 알아보겠습니다. 세션을 초기화합니다. 이때 id가 하나 발급됩니다. session_start(); 세션의 no에 123을, username에 abc를 저장합니다. $_SESSION = 123; $_SESSION = 'abc'; 세션의 id를 출력합니다. echo session_id(); 세션의 no의 값을 출력합니다. echo $_SESSION; 세선의 username의 값을 출력합니다. echo $_SESSION; 세션의 모든 값을 출력합니다. var_dump( $_SESSION ); 다음은 전체 ...

PHP / number_format() / 숫자 표현 형식 정하는 함수

PHP / number_format() / 숫자 표현 형식 정하는 함수

number_format() 함수로 숫자의 표현 형식을 정한다. 천 단위 쉼표를 찍을 수도 있고, 소숫점 아래 표시할 숫자의 개수를 정할 수도 있다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>PHP</title> <style> body { ...

PHP / MariaDB / 데이터베이스 값 가져와서 출력하기

PHP / MariaDB / 데이터베이스 값 가져와서 출력하기

이 강좌에서 사용하는 데이터베이스는 employees입니다. (employees 설치 하기) employees 출력하기 employees 테이블에는 직원 목록이 있습니다. 그 목록을 가져와서 출력해보겠습니다. 데이터베이스 연결 정보 employees 데이터베이스에 연결하기 위한 정보를 입력합니다. localhost, username, password는 적절히 변경합니다. $jb_conn = mysqli_connect( 'localhost', 'username', 'password', 'employees' ); 쿼리 작성하기 쿼리를 만듭니다. 아래는 employees 테이블에서 5개의 레코드를 가져오는 쿼리입니다. $jb_sql = "SELECT * FROM employees LIMIT ...

PHP / 당월 초일, 당월 말일 구하는 방법

PHP / 당월 초일, 당월 말일 구하는 방법

당월 초일과 당월 말일은 date() 함수를 이용하여 구할 수 있다. 초일은 항상 1일이므로, 아래처럼 날짜에 01을 넣어서 구한다. date( 'Y-m-01' ) 말일은 날짜 자리에 t를 넣어서 구한다. date( 'Y-m-t' ) 다음은 당월 초일과 말일을 출력하는 간단한 예이다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>HTML</title> <style> ...

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

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

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

PHP / 회원 관리 / 세션(SESSION) 추가하기, 로그아웃 페이지

PHP / 회원 관리 / 세션(SESSION) 추가하기, 로그아웃 페이지

login.php 로그인 한 상태인지 로그인 하지 않은 상태인지 파악하기 위해 login-ok.php로 넘어가기 전에 세션을 시작합니다. 그리고 username을 $_SESSION에 담습니다. <?php $username = $_POST; $password = $_POST; if ( !is_null( $username ) ) { $jb_conn = mysqli_connect( 'localhost', 'codingfactory', '1234qwer', 'codingfactory.net_example' ...

PHP / SQL Server / Ubuntu 18.04에서 연결하는 방법

PHP / SQL Server / Ubuntu 18.04에서 연결하는 방법

PHP에서 SQL Server에 연결하는 방법입니다. 서버 OS는 Ubuntu 18.04이고 Apache, PHP는 설치되어 있는 상태에서 시작합니다. 아래의 내용은 꼭 필요한 것만 모은 요약이며, 자세한 내용은 Microsoft 홈페이지에서 보실 수 있습니다. 소프트웨어 설치 다음의 명령을 차례대로 실행하여 필요한 소프트웨어를 설치합니다. curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list apt-get update ACCEPT_EULA=Y apt-get install msodbcsql17 apt-get install unixodbc-dev apt install ...

PHP / 함수 / phpversion() / PHP 버전 출력하는 함수

PHP / 함수 / phpversion() / PHP 버전 출력하는 함수

개요 phpversion으로 PHP의 버전을 확인할 수 있습니다. PHP 4 이상에서 사용할 수 있습니다. 문법 phpversion() PHP의 버전을 문자열로 반환합니다. 예제 <!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>phpversion</title> </head> <body> <?php echo '<p>PHP current version is ' . phpversion() . '</p>'; ...