PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제2장 PHP의 기초 문법

    4. 표현식(Expressions)

이미 C나 Perl에 경험이 있는 사람이라면 이 부분은 PHP도 비슷한 문법을 따르기 때문에 이해하는데 거의 어려움이 없을 것이다. 물론 그렇지 않은 경우라 하더라도 어려워할 것은 전혀(!) 없다.

 

수치 연산자

PHP에서는 기본적으로 사칙 연산을 위한 연산자를 제공한다.

+(더하기), -(빼기), ×(곱하기), /(나누기)가 그것이다. % 연산자도 제공하는데 이는 나누고 난 나머지 값을 반환한다.

 

 

 <?

 $a = 12;

 $b = 5.2;

 

 $res = $a + $b;

 echo("res by Addition : $res<br>");

 

 $res = $a - $b;

 echo("res by Subtraction : $res<br>");

 

 $res = $a * $b;

 echo("res by Multiplication : $res<br>");

 

 $res = $a / $b;

 echo("res by Division : $res<br>");

 

 $res = $a % $b;

 echo("res by Modulus : $res<br>");

 

 if($a < $b) {

    echo("\$b is greater than \$a");

 } else {

    echo("\$a is greater than \$b");

 }

 ?>

 

[예제1.13] php에서의 수치 연산자

 

위 연산 결과는 다음과 같다.

 

 res by Addition : 17.2

 res by Subtraction : 6.8

 res by Multiplication : 62.4

 res by Division : 2.3076923076923

 res by Modulus : 2

 $a is greater than $b

 

문자열 연산자

문자열 연산자로는 두 문자열을 연결시켜 주는 도트(.)연산자가 있다.

 

 <?

 $res = "안녕하세요? " . "PHP3입니다";

 echo($res);  // $res = "안녕하세요? PHP3입니다"

 ?>

 

[예제1.14]php에서의 문자열 연산자

 

도트(.) 연산자는 두 문자열, "안녕하세요?"와 "PHP3입니다"를 연결시켜 하나의 문자열로 만들어주는 아주 유용한 연산자이다.

 

대입 연산자

C나 Perl과 마찬가지로 PHP에서는 =가 대입 연산자이다. 아래의 예제를 실행시켜보면 금방 알 수 있을 것이다.

 

 

 <?

 

 $a = "5";

 echo("$a<br>");

 $a += 3;

 echo("$a<br>");

 $a -= 4;

 echo("$a<br>");

 

 $b = "안녕하세요? ";

 $b .= "PHP3입니다";

 

 echo("$b");

 

 ?>

 

[예제1.15] php에서의 대입 연산자

 

논리 연산자

논리 연산자에는 and, or, xor, !, &&, || 와 같은 것들이 있다.

 

  $a and $b

  // $a와 $b가 모두 참일 때 참

  $a or $b

  // $a와 $b중 하나가 참일 때 참

  $a xor $b

  // $a와 $b중 하나만이 참일 때 참, 둘 다 참이면 거짓

  !$a

  // $a가 참이면 거짓, 거짓이면 참

  $a && $b

  // $a와 $b가 모두 참일 때 참

  $a || $b

  // $a와 $b중 하나가 참일 때 참

 

아래의 예제를 보면 이해가 갈 것이다.

 

 

 <?

 

 $a = "5";

 $b = "";         // ""은 널 스트링이므로 거짓이다.

 

 if($a && $b) {

    echo("참");

 } else {

    echo("거짓");

 }                      // 거짓

 

 echo("<br>");

 

 if($a or $b) {

    echo("참");

 } else {

    echo("거짓");

 }                      // 참

 

 echo("<br>");

 

 if($a xor $b) {

    echo("참");

 } else {

    echo("거짓");

 }                      // 참

 

 echo("<br>");

 

 if(!$b) {

    echo("참");

 } else {

    echo("거짓");

 }                      // 참

 ?>

 

[예제1.16] php에서의 논리 연산자

 

위에서 and 연산자와 &&, or 연산자요 ||는 서로 동일함을 알 수 있다.

위의 4행에서 ""는 빈 문자열이므로 PHP에서 거짓으로 인식된다. 그러나 ""이 아닌 "" 즉, 하나의 공백 문자이면 이것은 논리 연산의 결과 참이 된다.

 

보통 게시판에 사용자가 글을 올릴 때 이름이나 제목, 내용 등을 제대로 입력했는지 체크하는 코드를 자바스크립트나 PHP로 작성하게 된다. 예를 들면 입력 양식의 이름 항목(name)에 사용자가 입력을 했는지 여부를 체크할 때 보통 아래와 같은 코드를 사용하는걸 흔히 볼 수 있다.

 

 If(!$name) {

        echo("이름을 입력해 주세요");

        exit ;

 }

위의 코드에 문제가 없다고 보여지는가?

 

우선 한 가지 경우로 사용자가 이름 항목에 아무 것도 입력을 하지 않고 [전송] 버튼을 누른다면 "이름을 입력해주세요"라는 문자열이 출력되면서 프로그램이 종료될 것이다. 그러나 만일 사용자가 이름 항목에 스페이스 한 글자, 즉 스페이스 키를 한번 누르고 전송 버튼을 누르게 되면 어떻게 될까? [예제1.16]의 결과를 보면 알 수 있듯이 변수 $name에는 ""가 아닌 ""가 할당되어 논리상 참이 되어버리므로 (!$name)은 거짓이 된다. 결과적으로 이름에는 아무 것도 출력이 되지 않을 것이다.

 

이럴 경우에는 스트링 함수를 이용하여 각 문자를 체크하거나 아니면 PHP에서 지원하는 정규 표현식(Regular Expression)을 이용하여 입력이 유효한 문자열인지를 조사해야 한다. 정규 표현식에 대해서는 제 3장에서 다루도록 할 것이다.

 

비교 연산자

비교 연산자에는 ==, !=, <, >, <=, >= 와 같은 것들이 있으며 문법 형식은 C나 Perl과 같다.

 

 $a == $b               // $a와 $b가 같으면 참

 $a != $b                // $a가 $b와 같지 않으면 참

 $a < $b                // $a가 $b보다 작으면 참

 $a > $b                // $a가 $b보다 크면 참

 $a <= $b               // $a가 $b보다 작거나 같으면 참

 $a >= $b               // $a가 $b보다 크거나 같으면 참

비교 연산자는 주로 실수나 정수형 변수를 비교할 때 사용한다.

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.