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 / addslashes(), stripslashes()

PHP / addslashes(), stripslashes()

addslashes() 작은 따옴표, 큰 따옴표, 백슬래시 앞에 백슬래시를 추가한다. 즉, PHP 'PHP' "PHP"를 PHP \'PHP\' \"PHP\"로 변경한다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>PHP</title> <style> * { font-family: "Consolas", monospace; ...

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

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

while 문법 while ( condition ) {   statement; } condition을 만족할 때까지 중괄호 안에 있는 statement를 실행합니다. 중괄호 대신 콜론(:)과 endwhile을 사용할 수도 있습니다. while ( condition ) :   statement; endwhile; 예제 <?php   $i = 1; // 초기값 설정   while ( $i < 10 ) ...

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( ...

PHP / 에러 출력하는 방법, 에러 출력하지 않는 방법

PHP / 에러 출력하는 방법, 에러 출력하지 않는 방법

PHP 코딩을 하고 웹 브라우저에서 실행을 시킵니다. 그런데 원하는 결과가 나오지 않거나 '페이지를 표시할 수 없습니다' 같은 메시지가 나오는 경우가 있습니다. 반대로 결과를 도출하는 데는 문제가 없으나 에러 메시지가 나오는 경우가 있습니다. 보통 개발 과정에서는 어떤 에러든 표시하는 게 좋고, 서비스 중이라면 왠만한 에러는 보이지 않는 게 좋습니다. 어떻게 에러 표시 여부를 ...

PHP / 함수 / mysqli_connect() / MySQL server 또는 MariaDB Server에 연결하는 함수

PHP / 함수 / mysqli_connect() / MySQL server 또는 MariaDB Server에 연결하는 함수

개요 mysqli_connect는 MySQL server 또는 MariaDB Server에 연결하는 함수입니다. 문법 mysqli_connect( host, username, password, databasename, port, socket ); 예제 1 데이터베이스 서버에 연결하고 결과를 출력합니다. <?php $jb_connect = mysqli_connect( 'localhost', 'jb', '1234', 'employees' ); var_dump( $jb_connect ); ?> 연결에 성공한 경우입니다. 연결에 실패하면 false를 반환합니다. 예제 2 연결에 성공하면 Success, 실패하면 Failure를 출력합니다. <!doctype html> <html lang="ko"> <head> ...

PHP / 함수 / strlen(), mb_strlen() / 문자열의 길이 구하는 함수

PHP / 함수 / strlen(), mb_strlen() / 문자열의 길이 구하는 함수

개요 strlen()와 mb_strlen()은 문자열의 길이를 구하는 함수입니다. strlen()은 바이트 기준, mb_strlen()은 문자셋 기준입니다. 한글 등에서는 값이 다릅니다. 문법 - strlen() strlen( string ) string : 길이를 구할 문자열입니다. echo strlen( '123 abc' ); 는 7을 출력합니다. echo strlen( '가나다' ); 는 9를 출력합니다. 문법 - mb_strlen() mb_strlen( string ) string : 길이를 구할 문자열입니다. encoding : 인코딩 방식을 정합니다. 정하지 않으면 ...

PHP / 연산자 / 비교 연산자

PHP / 연산자 / 비교 연산자

비교 연산자는 두 값을 비교하는 연산자입니다. $a == $b $a와 $b가 같으면 TRUE를 반환합니다. 예를 들어 $a = 123; $b = 123; 이면 TRUE입니다. 또한 $a = 123; $b = '123'; 일 때도 TRUE입니다. $a === $b $a와 $b가 같고, 자료형도 같아야 TRUE를 반환합니다. 예를 들어 $a = 123; $b = 123; 이면 TRUE입니다. 하지만 $a = 123; $b = '123'; 은 FALSE입니다. $a != $b $a가 $b와 같지 ...

PHP / 함수 / substr() / 문자열의 일부분을 추출하는 함수

PHP / 함수 / substr() / 문자열의 일부분을 추출하는 함수

개요 substr()은 문자열의 일부분을 추출하는 함수입니다. PHP 4 이상에서 사용할 수 있습니다. 문법 substr( string, start ) string : 추출의 대상이 되는 문자열입니다. start : 추출을 시작하는 위치입니다. length : 추출할 문자의 개수입니다. 값이 없으면 문자열의 끝까지 추출합니다. 음수일 때는 위치를 뜻하고, 그 위치 앞까지의 문자를 추출합니다. substr( 'abcdefg', 3 ); abcdefg에서 3 위치의 문자는 d입니다. ...

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 / 연산자 / 증가 연산자, 감소 연산자

++$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이 됩니다. 알파벳 알파벳도 증가 ...