웹마스터 팁

산술 연산자

+ : 덧셈 - 예) $a + $b
- : 뺄셈 - 예) $a - $b
* : 곱셉 - 예) $a * $b
/ : 나눗셈 - 예) $a / $b
% : 모듈러(나머지) - 예) $a / $b

나머진 수학에서의 의미와 동일하기 때문에 모듈러에 대해 약간 설명하겠습니다. 모듈러 연산자는 $a를 $b로 나눈 나머지를 반환합니다.

$a = 27
$b = 10;
$result = $a % $b;

$result의 값은 27을 10으로 나눈 나머지 7이 됩니다.

문자열 연산자

문자열 연산자는 '.(마침표)' 밖에 없고요. 역할은 두 문자열을 이어 새 문자열을 만들어 줍니다.

$a = 'Hello ';
$b = 'World';
$result = $a . $b;

$result에는 'Hello '와 'World'가 합쳐진 'Hello World'가 대입됩니다.

대입 연산자

대입 연산자는 '='입니다. 우리가 흔히 사용하는 같음을 의미하는 것이 아니라는 점을 조심하세요.

 $value = 2;

위 코드는 $value라는 변수에 2라는 값을 대입시킨다는 의미입니다. 대입 연산자 역시 다른 연산자와 같이 값을 반환합니다. $a + $b라는 표현식이 $a와 $b의 합을 반환하듯이 $a = 0 이라는 표현식의 값은 0이 됩니다. 따라서 아래와 같은 형식으로 사용할 수도 있습니다.

 $b = 6 + ($a = 5)

$a의 값은 11이 됩니다. 괄호 안의 식이 더 높은 우선 순위로 계산되는 것은 수학에서와 마찬가지입니다.

복합 대입 연산자

식을 간단하게 만들기 위해서 대입 연산자와 그 외 연산자를 결합해서 쓰는 경우도 있습니다. 변수에 어떤 계산을 한 후 다시 그 변수에 대입할 때 사용합니다.



$a += 5;
$a = $a + 5;

위 두 문장은 같은 의미입니다.

+= : 사용법 - $a += $b, 동일식 - $a = $a + $b
-= : 사용법 - $a -= $b, 동일식 - $a = $a - $b
*= : 사용법 - $a *= $b, 동일식 - $a = $a * $b
/= : 사용법 - $a /= $b, 동일식 - $a = $a / $b
%= : 사용법 - $a %= $b, 동일식 - $a = $a % $b
.= : 사용법 - $a .= $b, 동일식 - $a = $a . $b

전·후 증가와 감소 연산자

전·후 증가(++), 감소(--) 연산자는 +=, -= 복합 연산자와 비슷하지만 작동 방식이 조금 다릅니다. 변수의 값을 하나 증가 혹은 감소 시킨다는 것에서 $a += 1, $a -= 1과 비슷하지만 증가·감소 연산자를 변수의 앞에 쓰느냐, 뒤에 쓰느냐에 따라 결과는 달라집니다.

$a = 4;
echo ++$a;

위 코드의 결과로는 5가 출력됩니다. 증가 연산자를 변수의 앞에 써주었기 때문에 echo문이 실행되기 전 $a의 값이 하나 증가한 5가 되고 echo 문에 의해 $a의 값이 출력되기 때문입니다.

$a = 4;
echo $a++;
echo $a;

위 코드의 첫번째 echo문의 출력값은 4가 됩니다. 증가 연산자를 뒤에 썼기 때문에 일단 echo문이 실행된 후 증가 연산자에 의해 $a의 값이 하나 증가합니다. 그래서 두번째 echo 문에서는 5가 출력됩니다.

감소 연산자 또한 동일한 방식으로 작동하며 변수의 값을 하나 감소시킵니다.

제목 글쓴이 날짜
레드햇, 새 리눅스SW 출시 ATpple.com 2003.10.28
호스팅 업체에서 제공하는 에러메세지 표시를 개성적으로 바꾸자! [12] file 이주성 2003.10.25
익스체인지 서버 취약점으로 인한 임의 코드 실행 문제 ATpple.com 2003.10.24
개인서버를만들어보자!(1편 유저생성)(동영상강좌) [8] 타키 2003.10.22
한글이름 그림을 위한 Apache 설정 [2] 김영일 2003.10.23
외부에서 리눅스 텔넷 연결 [4] 화니 2003.10.21
Buffer Overrun in Messenger Service 취약점 [1] ATpple.com 2003.10.20
안전한 FTP, vsftpd 설치와 운영 (한글로그 패치 포함) [1] 좋은진호 2003.10.15
유동아이피로 고정아이피 만들수있는 유틸 [27] 론건맨 2003.10.10
OpenSSL(SSL/TLS)의 ASN.1 라이브러리 다중 취약점 ATpple.com 2003.10.07
IIS6 + Mysql 안돌아 가신다거나 PHP 빨간불 들어오시는님들 읽어주셔요^^* [7] 남정웅 2003.09.26
apache-1.3.28 release [5] 아치™ 2003.09.19
Register_globals 옵션의 개별적용 및 그에관한 tip Dopesoul 2003.09.13
Apache 에서 DoS 공격 막기 (1.3.x, 2.x) 좋은진호 2003.09.08
[강력추천!!] 윈도우에서 아파치,MySql,PHP 돌리기! - apmsetup.com [10] 별빛부셔 2003.09.05
블래스터 웜 바이러스 서버에서 차단하기 [3] 장지현 2003.08.31
[동영상] iis 5.1 + PHP 4.3.2 + MySQL 4.0.13 + 제로보드 4.1 pl4 설치 [48] 비행소년™ 2003.08.25
Windows 2000의 NAT를 이용한 인터넷 공유 서버 구축 [2] 굿스피드 2003.08.20
/home에 있는 계정을 계정별로 따로 백업하는 스크립트 [2] 뽀뽀팅이 2003.08.15
Windows2000 Ad Server 계열쓰시는분들의 보안. [7] 씨파개 2003.08.12