PHP 연산자가 다른 언어의 연산자와 크게 다르지는 않습니다.
그냥 정리 겸 해서 올리니 참고 정도로만 해 주세요.
산술 연산자 | |
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
/ | 나눗셈. 몫. |
% | 나눗셈. 나머지. |
할당 연산자 | |
= | 값 할당 |
+= | 양 쪽 변수를 더한 값을 왼쪽 변수에 할당 |
-= | 양 쪽 변수를 뺀 값을 왼쪽 변수에 할당 |
*= | 양 쪽 변수를 곱한 값을 왼쪽 변수에 할당 |
/= | 양 쪽 변수를 나눈 값을 왼쪽 변수에 할당 |
%= | 양 쪽 변수를 나눈 나머지 값을 왼쪽 변수에 할당 |
접합 연산자(문자열) | |
. | 접합. 변수끼리 + 하는 거랑 같음 |
.= | 접합한 값을 왼쪽 변수에 할당 |
증가/감소 연산자 | |
++변수 | 변수 값을 먼저 1 증가 시킨 후 변수를 사용. |
변수++ | 변수에 저장되어 있는 값을 먼저 사용한 후 1 증가 시킴. |
--변수 | 변수 값을 먼저 1 감소 시킨 후 변수를 사용. |
변수-- | 변수에 저장되어 있는 값을 먼저 사용한 후 1 감소 시킴. |
비교 연산자(if 문 등의 조건절에서) | |
== | 왼쪽 변수와 우측 변수의 값이 같으면 |
=== | 왼쪽 변수와 우측 변수의 값과 데이터형이 같으면 |
!= | 왼쪽 변수와 우측 변수가 같지 않으면 |
<> | 왼쪽 변수와 우측 변수의 크기가 같으면 |
!== | 왼쪽 변수와 우측 변수의 값이 같지 않고 데이터형도 다르면 |
> | 왼쪽 변수가 우측 변수 보다 크다면 |
< | 왼쪽 변수가 우측 변수 보다 작다면 |
>= | 왼쪽 변수가 우측 변수 보다 크거나 같다면 |
<= | 왼쪽 변수가 우측 변수 보다 작거나 같다면 |
논리 연산자 | |
and | 양쪽 항목이 다 참일 때 |
or | 둘 중 한 항목이 참일 때(둘 다 참일 때도 true) |
xor | 둘 중 한 항목만 참일 때(둘 다 참일 때는 false) |
&& | and 연산자와 동일. 양 쪽 항목이 다 참일 때 true |
|| | or 연산자와 동일. 둘 중 한 항목이 참일 때, 둘 다 참일 때 true |
! | 참이 아닐 때 true 값 리턴 |
배열 연산자 | |
+ | 중복항목 제거 후 합치기 |
== | 키/값이 같을 때 true |
=== | 키/값/순서/데이터형 같을 때 true |
!= | 같지 않을 때 true |
<> | 같지 않을 때 true |
!== | 키/값/순서/데이터형이 같지 않을 때 true |
기타 연산자 | |
@ | 해당 코드라인의 에러 메시지를 출력하지 않는 연산자. |
& | and. 비트자리 비교 후 둘 다 1이면 1 나머지는 0 |
| | or. 비트자리 비교 후 둘 중 하나라도 1이면 1, 둘 다 0이면 0 |
^ | xor. 비트자리의 값이 같으면 0 다르면 1 로 변환 |
~ | not. 0이면 1로 1이면 0으로 변환 |
<< | 왼쪽으로 우측 값 만큼 이동 |
>> | 오른쪽으로 우측 값 만큼 이동 |
비트 연산자의 경우에는 거의 쓸 일이 없어 보이긴 하네요.
할당 연산자는 정확한 명칭을 몰라 그냥 임의로 했습니다.
가독성을 위해서는 안 쓰는게 좋다고 배웠던 기억이 있는데 요즘은 어떤지 잘 모르겠네요.
논리 연산자나 비교, 산술 연산자가 당연히 많이 쓰일테고, 배열 연산자의 경우에는 솔직히 잘 모르겠네요.
일치 여부 정도는 비교 용으로 쓸 거 같은데,
중복 제거후 합치기 같은 경우 두 배열의 추가되는 배열보다 추가하는 배열의 길이가 길 때 정상적으로 결과를 내는 거 같습니다.
정확한 결과를 위해서는 알고리즘 짜서 하는게 더 나을 거 같네요.
예제
<!doctype html>
<html>
<body>
<?php
$intA = 23;
$intB = 15;
$intC = 23;
$strA = 'temp';
$strB = 'test';
$arrayA = array(1,2);
$arrayB = array(3,6,9);
$arrayC = array();
echo '산술 연산자'.'<br/>';
echo '$intA + $intB : '.$temp = $intA + $intB.'<br/>';
echo '$intA - $intB : '.$temp = $intA - $intB.'<br/>';
echo '$intA * $intB : '.$temp = $intA * $intB.'<br/>';
echo '$intA / $intB : '.$temp = $intA / $intB.'<br/>';
echo '$intA % $intB : '.$temp = $intA % $intB.'<br/>';
echo '<br/>할당 연산자'.'<br/>';
echo 'temp 변수를 하나 만든 후 intA 를 할당.<br/>';
$temp = $intA;
echo '$temp += $intB : '.$temp += $intB;
echo '<br/>';
$temp = $intA;
echo '$temp -= $intB : '.$temp -= $intB;
echo '<br/>';
$temp = $intA;
echo '$temp *= $intB : '.$temp *= $intB;
echo '<br/>';
$temp = $intA;
echo '$temp /= $intB : '.$temp /= $intB;
echo '<br/>';
$temp = $intA;
echo '$temp %= $intB : '.$temp %= $intB;
echo '<br/><br/>';
echo '접합 연산자.<br/>';
echo '$strA : '.$strA.'<br/>$strB : '.$strB.'<br/>';
echo '$strA.=$strB : '.$strA.=$strB.'<br/><br/>';
echo '증가/감소 연산자<br/>';
echo '$intA : '.$intA.'<br/>';
echo '++$intA : '.++$intA.'<br/>';
echo '$intA : '.$intA.'<br/>';
echo '$intA++ : '.$intA++.'<br/>';
echo '$intA : '.$intA.'<br/>';
echo '<br/>비교 연산자, 논리연산자<br/>';
$intA=23;
if($intA === $intC){
echo '$intA 와 $intC 는 값과 데이터형이 같습니다.<br/>';
}else{
echo '$intA 와 $intC 는 값 혹은 데이터형이 다릅니다.<br/>';
}
while($intC < 25){
echo '$intC : '.$intC++.'<br/>';
}
if($intA == 23 and $intC < 30){
echo '$intA : '.$intA.' $intC : '.$intC.'<br/>';
}
$arrayC = $arrayA + $arrayB;
echo '$arrayA + $arrayB : ';
foreach($arrayC as $array){
echo $array.' ';
}
echo '<br/><br/>비트연산자<br/>';
echo 'intA & int B : ';
echo $intA & $intB;
echo '<br/>intA | int B : ';
echo $intA|$intB;
echo '<br/>intA ^ int B : ';
echo $intA ^ $intB;
echo '<br/>~intA : ';
echo ~$intA;
echo '<br/>intA << 2 : ';
echo $intA << 2;
echo '<br/>intA >> 2 : ';
echo $intA >> 2;
?>
</body>
</html>
결과 화면
'Programming > PHP' 카테고리의 다른 글
[HTML/PHP]DB 데이터 불러와서 표시하기 테이블로 표시하기 (0) | 2019.08.30 |
---|---|
[PHP, MySQL]엑셀 파일 업로드 및 쿼리 적용하기 (0) | 2019.08.20 |
[PHP]폼을 이용한 데이터 전달 방법. 배열 정리. (0) | 2019.03.16 |
[PHP] 기본 사용법 및 제어문 정리 (0) | 2019.03.14 |
PHP에서 Mysql 연동, 불러오기 (3) | 2019.01.20 |