4. 조건문

2018. 3. 19. 01:13프로그래밍 언어/PHP


학습목표

1. PHP에서 조건문의 기본 문법을 알고, 응요을 할 줄 안다.

2. 논리 연산자에 대해 공부해 본다.

3. Boolean type과 형변환에 대해 공부해 본다.



1. 조건문

주어진 조건에 따라 애플리케이션이 다르게 동작하는 것을 조건문이라 한다.  조건문의 기본형은 아래와 같다. 

>basic.php

1
2
3
4
5
<?php
    if('조건식'){
       #실행할 내용
    }
?>
cs

if 문의 괄호 안에 있는 조건식이 참(true)인 경우 { } 안의 내용을 실행하고, 거짓(false)일 경우는 실행을 하지 않고 다음 줄로 넘어간다.


> elseif.php

1
2
3
4
5
6
7
8
9
10
11
<?php
if (false){
    echo 1;
else if (false){
    echo 2;
else if (false){
    echo 3;
else {
    echo 4;
}
?>
cs


2. 조건문 응용 : 변수와 비교연산자

> index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="ko" dir="ltr">
 
<head>
    <meta charset="utf-8">
    <title></title>
</head>
 
<body>
    <form method="get" action="sources/form.php">
        id : <input type="text" name="id" />
        <input type="submit" value="전송"/>
    </form>
 
</body>
 
</html>
 
cs

서버로 데이터를 전송할 때 GET 방식을 이용하며, 웹서버 루트 디렉토리 하위에 있는 sources 폴더 안에 있는 form.php 파일로 데이터를 전송한다.


>form.php

1
2
3
4
5
6
7
8
<?php
    if($_GET['id'=== 'guest'){
    echo 'right';
    } else {
    echo 'wrong';
    }
?>
 
cs


※ 비교 연산자 

!= : 양쪽 항의 값이 같지 않으면 참.

== : 양쪽 항의 값이 같으면 참.

=== : 양쪽 항의 데이터 타입 및 값이 완전히 동일해야 참.


3. 논리연산자

① and 

and 의 앞과 뒤 모두 참일 경우에만 참이다.

> form.php

1
2
3
4
5
6
7
8
<?php
    if($_POST['id'=== 'guest' && $_POST['password'=== '1234'){
    echo 'right';
    } else {
    echo 'wrong';
    }
?>
 
cs

- 조건식 내에서 && 와 and는 완전히 동일한 것이다. && 대신 and 를 입력해도 무방하다.


② or 

OR 앞 뒤 값 중 하나만 참이면 참이 된다. 거짓이 되기 위해서는 앞,뒤 모두 거짓일 경우에만 거짓이 됨.

1
2
3
4
5
6
7
8
<?php
    if($_POST['id'=== 'guest' or $_POST['password'=== '1234'){
    echo 'right';
    } else {
    echo 'wrong';
    }
?>
 
cs


- or 과 || 은 완전히 같은 것. 


# 고급 [ Boolean의 대체제 ]

- Boolean의 값은 true/false 두 가지.

- 0이 아닌 숫자는 True 로 취급한다. 즉, True의 대체제가 될 수 있음.

- 값이 없는 배열 / 공백 / NULL / 0 등은 모두 False의 대체제


* PHP 공식 사이트에서 제공하는 PHP type 비교 테이블

http://php.net/manual/en/types.comparisons.php



gettype() : 데이터 타입을 가져옴.

empty() : 공백, null, 초기화 하지 않은 변수, 0, false 등을 입력받으면 , True 를 반환한다.

is_null() :  null, 초기화 되지 않은 변수를 입력 값으로 받으면 True 반환 

isset() : is_null()과 정확히 반대되는 결과 값을 반환한다. ( not null )


'프로그래밍 언어 > PHP' 카테고리의 다른 글

6. 함수  (0) 2018.03.25
5. 반복문  (0) 2018.03.21
3. 입출력과 Form  (0) 2018.03.18
2. Data Type / 변수 / 상수  (0) 2018.03.14
1. APM설치하기 + PHP 설정하기  (0) 2018.03.14