Language/PHP

공부 내용 정리 PHP :: 기초 II

Cs.Woo 2021. 5. 23. 23:36

# 조건문

 조건문이란 주어진 조건에 따라서 어플리케이션을 다르게 동작하도록 하는 것이다.  문법은 다음과 같다.

 

# IF

<?php
 if ( true / false ) {
 	code;
 }
?>

 if에 종속된 {} 코드 블럭을 ()안에 조건이 참 혹은 거짓일때 실행할 수 있도록 설계되어 있는 것이 조건문중 if문이다. 추가적으로 그렇지 않으면, 이라는 조건을 넣기 위해서는 하기와 같이 else를 추가하면 된다. 문법은 다음과 같다.

 

<?php
    if (false) {
    code1;
    } else {
    code2;
    }
?>

 상기 코드는 만일 ( ) 안의 조건이 false 라면, if 이하의 코드가 실행될 것이고 그렇지 않으면(else) else 이하의 코드가 실행되는 구조로 되어있다. 조건을 추가적으로 더 부여하고자 한다면 다음과 같이 작성하면 된다.

 

<?php
    if (false) {
    code1;
    } else if (false) {
    code2;
    } else if (false) {
    code3;
    } else if (false) {
    cdoe4;
    }
    ...
    } else {
    code n;
    }
?>

 if - else if - else 구문 역시 다른 언어와 유사한 문법 구조를 갖고있다. 

 

# 조건문 응용 ( 비교연산자 사용 )

 조건문 응용은 비교연산자를 사용하여 데이터를 처리하고 출력하는 방법에 대하여 학습한 장이다. 예제로서 학습하였고 다음이 그 예제이다.

 예제는 사용자에게 ID와 PW를 받아서 post방식으로 정보를 전송하였고, 그 정보의 유효성 여부를 판단한 다음, 유효하다면 환영합니다를 그렇지 않으면 확인해달라는 내용을 출력하는 내용이다.

 

!! HTML !!

<!DOCTYPE html>
<html lang="ko">
<head>
    <title>test page</title>
</head>
<body>
    <form method = "post" action="form2.php">
        <p>ID :: <input type="text" name = "id" /></p>
        <p>PW :: <input type="password" name = "password"></p>
        <p><input type="submit"></p>
    </form>
</body>
</html>

 HTML 코드

 

!! PHP !!

<?php
if ( $_POST['id'] === 'example') {
    if ( $_POST['password'] == 1234 ) {
        echo "환영합니다.";
    }
} else {
    echo "아이디 혹은 비밀번호를 확인하여 주시기 바랍니다.";
}
?>

PHP 코드

 

 HTML에서 POST 방식으로 입력되어 PHP로 전송되었기 때문에 URL에는 입력된 정보가 노출되지 않고 전송이 되었고, php에 지정되어있는 아이디와 비밀번호를 입력하였을 때 로그인이 가능할 수 있도록 만들어놓은 로직이다.

 

# 논리 연산자

 논리연산자는 조건문을 보다 효율적으로 작성할 수 있도록 도와준다. PHP역시 논리연산자가 존재하고 다음과 같은 모습을 하고있다.

 

# and (&&)

 그리고 라는 의미를 갖고 있다, 좌항과 우항이 모두 true 여야만 참이된다. and는 &&를 대신 사용 가능하다.

 

<?php
    if (true and true) {
    	code1 ;
        }
    if (true and false) {
    	code 2;
        }
    if (false and true) {
    	code 3;
        }
    if (false and false) {
    	code 4;
        }
 ?>

     

코드가 상기와 같을 때, code 1이 실행된다. 만일 전부가 실행가능하다는 가정이라면 code 1과 code 4가 실행이된다.

# or

 또는 이라는 의미를 갖고있다. 좌항 혹은 우항 둘 중 하나만 true여도 참이 된다.

 

<?php

    if(ture or true) {
        code 1;
    }
    
    if(true or false) {
        code 2;
    }
    
    if(false or true) {
        code 3;
    }
    
    if(false or false) {
        code 4;
    }
?>

상기 코드블럭에서는 4빼고는 전부 true라고 인식이 된다. 따라서 일반적으로 실행하였을 때에는 첫번째 if문이, 전부 다 실행된다는 가정 하에는 4번째 if문 빼고 전부가 실행되게 된다.

 

 

# Boolean의 대체제

 Boolean자료형은 php뿐만아니라 대부분 모든 언어에서 존재하는 자료의 형식이다.  php에서는 다른언어에서 사용할 수 있는 Boolean의 대체제와 php고유의 Boolean대체제가 존재한다. 본 장에서는 그 내용을 다루었다.

 

# 0, 1

 컴퓨터는 모종의 이유로 0은 false 0이외의 수는 true라고 인식을 한다. 따라서 이것을 Boolean으로 이용할 수가 있다.

예시는 하기 코드와 같다.

<?php
    if ( 1 and 1 ) {
        code 1;
    }
    
    if ( 0 and 1 ) {
        code 2;
    }
    
    if ( 1 and 0 ) {
        code 3;
    }
    
    if ( 0 and 0 )  {
        code 4;
    }
?>

 모든 코드가 실행된다는 가정 하에, 상기 코드블럭은 code 1과 4만 실행되고 2와 3은 실행되지 않을 것이다.