PHP / 조건문 / if, elseif, else

if

설명

if로 조건을 만족할 때 실행할 작업을 정한다.

문법

if ( condition ) {
  statement;
}

condition이 TRUE이면 statement을 실행하고, FALSE이면 실행하지 않는다.

중괄호 대신 콜론과 endif를 이용할 수도 있다.

if ( condition ):
  statement;
endif;

예제

<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>Coding Factory</title>
    <style>
      p {
        font-family: "Consolas", monospace;
        font-style: italic;
        font-size: 1.3em;
      }
    </style>
  </head>
  <body>
    <?php
      $var = 15;
      if ( $var > 10 ) {
        echo "<p>var is greater than 10.</p>";
      }
    ?>
  </body>
</html>
<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>Coding Factory</title>
    <style>
      p {
        font-family: "Consolas", monospace;
        font-style: italic;
        font-size: 1.3em;
      }
    </style>
  </head>
  <body>
    <?php
      $var = 15;
      if ( $var > 10 ) :
    ?>
      <p>var is greater than 10.</p>
    <?php
      endif;
    ?>
  </body>
</html>

if, else

설명

if로 조건을 만족할 때 실행할 작업을, else로 조건을 만족하지 않을 때 실행할 작업을 정한다.

문법

if ( condition ) {
  statement1;
} else {
  statement2;
}

condition이 TRUE이면 statement1을 실행하고, FALSE이면 statement2를 실행한다.

중괄호 대신 콜론과 endif를 사용할 수도 있다.

if ( condition ):
  statement1;
else:
  statement2;
endif;

예제

<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>Coding Factory</title>
    <style>
      p {
        font-family: "Consolas", monospace;
        font-style: italic;
        font-size: 1.3em;
      }
    </style>
  </head>
  <body>
    <?php
      $var1 = 15;
      $var2 = 5;
      if ( $var1 > 10 ) {
        echo "<p>var1 is greater than 10.</p>";
      } else {
        echo "<p>var1 is not greater than 10.</p>";
      }
      if ( $var2 > 10 ) {
        echo "<p>var2 is greater than 10.</p>";
      } else {
        echo "<p>var2 is not greater than 10.</p>";
      }
    ?>
  </body>
</html>
<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>Coding Factory</title>
    <style>
      p {
        font-family: "Consolas", monospace;
        font-style: italic;
        font-size: 1.3em;
      }
    </style>
  </head>
  <body>
    <?php
      $var1 = 15;
      $var2 = 5;
      if ( $var1 > 10 ) :
    ?>
    <p>var1 is greater than 10.</p>
    <?php
      else :
    ?>
    <p>var1 is not greater than 10.</p>
    <?php
      endif;
      if ( $var2 > 10 ) :
    ?>
    <p>var2 is greater than 10.</p>
    <?php
      else :
    ?>
    <p>var2 is not greater than 10.</p>
    <?php
      endif;
    ?>
  </body>
</html>

if, elseif, else

설명

if와 elseif로 여러 조건을 만든 후 각 조건에 만족할 때 실행할 작업을 정한다. 모든 조건을 만족하지 않을 때 실행할 작업은 else로 정한다.

문법

if ( condition1 ) {
  statement1;
} elseif ( condition2 ) {
  statement2;
} else {
  statement3;
}
  1. condition1이 TRUE이면 statement1을 실행하고 조건문을 빠져나온다.
  2. condition1이 FALSE이고 condition2가 TRUE이면 statement2를 실행하고 조건문을 빠져나온다.
  3. condition1과 condition2가 모두 FALSE이면 statement3을 실행한다.

elseif는 여러 번 사용할 수 있으며, else는 필수가 아니므로 사용하지 않아도 된다.

중괄호 대신 콜론과 endif를 사용할 수도 있다.

if ( condition1 ):
  statement1;
elseif ( condition2 ):
  statement2;
else:
  statement2;
endif;

예제 1

<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>Coding Factory</title>
    <style>
      p {
        font-family: "Consolas", monospace;
        font-style: italic;
        font-size: 1.3em;
      }
    </style>
  </head>
  <body>
    <?php
      $var = 25;
      if ( $var > 10 ) {
        echo "<p>var is greater than 10.</p>";
      } elseif ( $var > 20 ) {
        echo "<p>var is greater than 20.</p>";
      } elseif ( $var > 30 ) {
        echo "<p>var is greater than 30.</p>";
      } else {
        echo "<p>var is not greater than 10.</p>";
      }
    ?>
  </body>
</html>

예제 2

<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>Coding Factory</title>
    <style>
      p {
        font-family: "Consolas", monospace;
        font-style: italic;
        font-size: 1.3em;
      }
    </style>
  </head>
  <body>
    <?php
      $var = 25;
      if ( $var < 10 ) {
        echo "<p>var is less than 10.</p>";
      } elseif ( $var > 10 and $var < 20 ) {
        echo "<p>var is greater than 10 and less than 20.</p>";
      } elseif ( $var > 20 and $var < 30 ) {
        echo "<p>var is greater than 20 and less than 30.</p>";
      }
    ?>
  </body>
</html>

같은 카테고리의 다른 글
PHP / 함수 / explode() / 문자열을 분할하여 배열로 저장하는 함수

PHP / 함수 / explode() / 문자열을 분할하여 배열로 저장하는 함수

개요 explode()는 문자열을 분할하여 배열로 저장하는 함수입니다. PHP 4 이상에서 사용할 수 있습니다. 문법 explode ( delimiter, string ) delimiter : 문자열을 분할할 기준을 정합니다. string : 분할할 문자열입니다. limit : 옵션으로, 분할할 개수를 정합니다. 정수를 입력합니다. $jbstring = 'one two three four'; $jbexplode = explode( ' ', $jbstring ); 문자열 jbsrting을 공백을 기준으로 구분하여 배열 jbexplode에 ...

PHP / 현재 페이지의 URL 정보 가져오는 방법

PHP / 현재 페이지의 URL 정보 가져오는 방법

$_SERVER를 이용하여 현재 페이지의 URL 정보를 가져올 수 있다. $_SERVER : 도메인 $_SERVER : 도메인 다음 부분 $_SERVER : GET 방식으로 넘어온 값 $_SERVER : 도메인 다음 부분에서 GET 방식으로 넘어온 값 제외 basename( $_SERVER ) : 파일 이름 예를 들어 URL이 https://example.codingfactory.net/php/php.php?a=123&b=456라고 할 때, 결과는 다음과 ...

PHP / 회원 관리 / 비밀번호 변경 페이지

PHP / 회원 관리 / 비밀번호 변경 페이지

change-password.php $_SESSION의 값으로 로그인 여부를 판단합니다. 로그인 상태가 아니라면 로그인 페이지로 이동합니다. 로그인 상태라면 $current_password의 값으로 새 비밀번호를 입력했는지 확인합니다. 새 비밀번호를 입력했다면 현재 비밀번호가 맞는지 확인합니다. 맞지 않다면 '현재 비밀번호가 틀렸습니다.'를 출력합니다. 현재 비밀번호가 맞다면 새로 입력한 비밀번호 두 개가 일치하는지 확인합니다.일치하지 않는다면 '새 비밀번호가 일치하지 않습니다.'를 출력합니다. 새 비밀번호 두 개가 ...

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

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

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 / 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 / 두 날짜 사이의 기간(차이) 구하는 방법

두 날짜 사이의 차이 구하기 시작하는 날짜를 변수에 담는다. $from = new DateTime( '2022-01-01' ); 끝나는 날짜를 변수에 담는다. $to = new DateTime( '2022-03-31' ); diff 또는 date_diff로 차이를 구한다. echo $from -> diff( $to ) -> days; echo date_diff( $from, $to ) -> days; 2022년 1월은 31일, 2월은 28일, 3월은 31일로 총 90일이다. 위의 방식으로 계산하면 89일이 ...

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 : 인코딩 방식을 정합니다. 정하지 않으면 ...