공부 내용 정리 PHP :: 기초 II
# 조건문
조건문이란 주어진 조건에 따라서 어플리케이션을 다르게 동작하도록 하는 것이다. 문법은 다음과 같다.
# 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은 실행되지 않을 것이다.