웹마스터 팁
[PHP 기초] 연산자1
2011.05.19 19:36
산술 연산자
- : 뺄셈 - 예) $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 += 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가 출력됩니다.
감소 연산자 또한 동일한 방식으로 작동하며 변수의 값을 하나 감소시킵니다.
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
아이프레임 가로스크롤바 없애기 [3] | 백승창 | 2004.05.28 |
처음올립니다;ㅂ; 너무 신기한 거 발견;; [19] | 올리못™ | 2004.05.30 |
relative 속성 레이어를 이용한 메뉴를 자리차지하지 않게... [1] | PHASE | 2004.06.03 |
어쩌다 나온 깔끔한 그레이 스크롤바.. 흠흠.. [11] | ☺심심 | 2004.06.06 |
이미지에 필터만으로 그림자주기.. [15] | Simsim | 2004.07.07 |
도메인 포워딩 하기 [4] | 나준혁 | 2004.07.27 |
동영상과 함께 자막 재생하기. [4] | 세강:D | 2004.08.16 |
경고창 없이 부모창 닫고 아기창에서 마우스 오른버튼 클릭시 아기창도 닫는다. [4] | 詩와언어™ | 2004.08.27 |
테이블 주위에 점선효과!!!~~(초간단팁!) [6] | 초라 | 2004.09.25 |
TabIndex를 이용하여 탭키 컨트롤하기 [5] | 손상모 | 2004.10.08 |
해상도에 적응하는 노프레임 홈페이지 제작에 필요한 표와 셀의 관계 [8] | Multi_Taeji | 2004.10.13 |
<button>태그를 아시나요? [6] | 그냥이렇게。 | 2004.10.13 |
타이틀 바에 움직이는 타이틀 넣기. [5] | 덜렁이 | 2004.10.16 |
스타일시트에서 링크포커스 없애기 [12] | keymove | 2004.10.26 |
W3C 표준 권고안. 앞으로 꼭 지켜주세요.. [14] | canelia | 2004.10.29 |
각 객체접근.. [2] | canelia | 2004.10.29 |
웹문서 검색을 대비한 헤더,푸터 나누기. [4] | 그럴까? | 2004.10.29 |
a링크를 이용 새창 띄우기 [10] | 토토루 | 2004.11.07 |
웹폰트사용에 대한 실체를 밝힌다!! [22] | Multi_Taeji | 2004.11.13 |
최근게시물의 폰트크기와 링크색상 바꾸는 방법 | LUFFY | 2004.11.20 |