Web
Php 분류

PHP 산술연산자

작성자 정보

  • console 작성
  • 작성일

컨텐츠 정보

본문

 

연산자(operator)

PHP는 다양한 연산을 위해 많은 종류의 연산자를 제공하고 있습니다.


산술 연산자(arithmetic operator)

산술 연산자는 사칙 연산을 다루는 가장 기본적이면서도 많이 사용하는 연산자입니다.

산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.

 

항이란 해당 연산의 실행이 가능하기 위해 필요한 값이나 변수를 의미합니다.
따라서 이항 연산자란 해당 연산의 실행을 위해서 두 개의 값이나 변수가 필요한 연산자를 의미합니다.

 

산술 연산자 설명
+ 왼쪽의 피연산자에 오른쪽의 피연산자를 더함.
- 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌.
* 왼쪽의 피연산자에 오른쪽의 피연산자를 곱함.
/ 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔.
% 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환함.
** 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 제곱함. (PHP 5.6에서 추가됨)

 

예제

$num_01 = 10;
$num_02 = 4;

 

echo "+ 연산자에 의한 결괏값은 ".($num_01 + $num_02)."입니다.<br>"; // 14
echo "- 연산자에 의한 결괏값은 ".($num_01 - $num_02)."입니다.<br>"; // 6
echo "* 연산자에 의한 결괏값은 ".($num_01 * $num_02)."입니다.<br>"; // 40
echo "/ 연산자에 의한 결괏값은 ".($num_01 / $num_02)."입니다.<br>"; // 2.5
echo "% 연산자에 의한 결괏값은 ".($num_01 % $num_02)."입니다.";     // 2

코딩연습 ▶


연산자의 우선순위(operator precedence)와 결합 방향(associativity)

연산자의 우선순위는 하나의 수식 내에 여러 연산자가 함께 등장할 때, 어느 연산자가 먼저 처리될 것인가를 결정합니다.

 

다음 그림은 가장 높은 우선순위를 가지고 있는 괄호(()) 연산자를 사용하여 연산자의 처리 순서를 변경하는 것을 보여줍니다.

연산자 우선순위

 

연산자의 결합 방향은 수식 내에 우선순위가 같은 연산자가 둘 이상 있을 때, 먼저 어느 연산을 수행할 것인가를 결정합니다.

연산자 결합방향


PHP 연산자의 우선순위표

PHP에서 연산자의 우선순위와 결합 방향은 다음과 같습니다.

우선순위 연산자 설명 결합 방향
1 new 객체의 생성 -
  clone 객체의 복제 -
2 [] 배열 왼쪽에서 오른쪽으로
3 ++ 증가 연산자 -
  -- 감소 연산자 -
4 (타입) 타입 캐스트 연산자 -
  ~ 비트 NOT 연산자     -
  - 음의 부호 (단항 연산자) -
5 instanceof 객체 -
6 ! 논리 NOT 연산자 오른쪽에서 왼쪽으로
7 * 곱셈 연산자 왼쪽에서 오른쪽으로
  / 나눗셈 연산자 왼쪽에서 오른쪽으로
  % 나머지 연산자 왼쪽에서 오른쪽으로
8 + 덧셈 연산자 왼쪽에서 오른쪽으로
  - 뺄셈 연산자 왼쪽에서 오른쪽으로
9 << 비트 왼쪽 시프트 연산자 왼쪽에서 오른쪽으로
  >> 비트 오른쪽 시프트 연산자 왼쪽에서 오른쪽으로
10 < 관계 연산자(보다 작은) -
  <= 관계 연산자(보다 작거나 같은) -
  > 관계 연산자(보다 큰) -
  >= 관계 연산자(보다 크거나 같은) -
  <> 관계 연산자(와 같지 않은) -
11 == 관계 연산자(와 같은) -
  === 관계 연산자(와 같고 같은 타입) -
  != 관계 연산자(와 같지 않은) -
  !== 관계 연산자(와 같지 않거나 다른 타입) -
12 & 비트 AND 연산자 왼쪽에서 오른쪽으로
13 ^ 비트 XOR 연산자 왼쪽에서 오른쪽으로
14 | 비트 OR 연산자 왼쪽에서 오른쪽으로
15 && 논리 AND 연산자 왼쪽에서 오른쪽으로
16 || 논리 OR 연산자 왼쪽에서 오른쪽으로
17 ? : 삼항 연산자 오른쪽에서 왼쪽으로
18 = 대입 연산자 오른쪽에서 왼쪽으로
  += 복합 대입 연산자(덧셈) 오른쪽에서 왼쪽으로
  -= 복합 대입 연산자(뺄셈) 오른쪽에서 왼쪽으로
  *= 복합 대입 연산자(곱셈) 오른쪽에서 왼쪽으로
  /= 복합 대입 연산자(나눗셈) 오른쪽에서 왼쪽으로
  %= 복합 대입 연산자(나머지) 오른쪽에서 왼쪽으로
  .= 복합 대입 연산자(문자열 추가) 오른쪽에서 왼쪽으로
  <<= 복합 대입 연산자(비트 왼쪽 시프트) 오른쪽에서 왼쪽으로
  >>= 복합 대입 연산자(비트 오른쪽 시프트) 오른쪽에서 왼쪽으로
  &= 복합 대입 연산자(비트 AND) 오른쪽에서 왼쪽으로
  |= 복합 대입 연산자(비트 OR) 오른쪽에서 왼쪽으로
  ^= 복합 대입 연산자(비트 XOR) 오른쪽에서 왼쪽으로
19 and 논리 AND 연산자 왼쪽에서 오른쪽으로
20 xor 논리 XOR 연산자 왼쪽에서 오른쪽으로
21 or 논리 OR 연산자 왼쪽에서 오른쪽으로
22 , 쉼표 연산자 왼쪽에서 오른쪽으로

 

위의 표에서 나온 순서대로 우선순위가 빠른 연산자가 가장 먼저 실행됩니다.

또한, 같은 우선순위를 가지는 연산자가 둘 이상 있을 때에는 결합 순서에 따라 실행 순서가 결정됩니다.

 

위의 표 내용을 모두 외우기보다는 필요할 때마다 참조하는 것이 좋습니다.


관련자료

댓글 0
등록된 댓글이 없습니다.
Php 24 / 1 페이지
RSS
  • 그누보드 썸네일 이미지 화질 개선 방법
    등록자 PixelProphet
    등록일 01.10 조회 2734

    Php 그누보드에서 이미지를 올릴때, 간혹 이미지 화질이 떨어져 보이는 현상이 있습니다.... 이럴 때 제가 찾아본 방법 중에 가장 쉽게 해결 할 수 …

  • PHP 배열의 기초
    등록자 console
    등록일 01.05 조회 2529

    Php 배열(array)이란? PHP에서 배열(array)은 맵(map)으로 이루어진, 순서가 있는 집합을 의미합니다. 맵(map)은한 쌍의 키(key…

  • PHP 기타 제어문
    등록자 console
    등록일 01.05 조회 2560

    Php 루프의 제어 일반적으로 조건식의 검사를 통해 루프로 진입하면,다음 조건식을검사하기 전까지 루프 안에 있는 모든 명령문을 실행합니다. 사용자는 c…

  • PHP 반복문
    등록자 console
    등록일 01.05 조회 2531

    Php 반복문 반복문이란 프로그램 내에서 같은 명령을 일정 횟수만큼 반복하여수행하는명령문입니다. 프로그램이 처리하는 대부분의코드는 반복적인 형태가 많으…

  • PHP 조건문
    등록자 console
    등록일 01.05 조회 2380

    Php PHP 표현식 표현식(expressions)은 PHP에서 가장 중요한 구성요소입니다. 표현식이란 모든 것이 값을 갖는다는 의미이며, PHP에서 …

  • PHP 기타 연산자
    등록자 console
    등록일 01.05 조회 2347

    Php 삼항 연산자(ternaryoperator) 삼항 연산자는 유일하게 피연산자를 세 개나 가지는 조건 연산자입니다. 삼항 연산자의 문법은 다음과 같…

  • PHP 비트 연산자
    등록자 console
    등록일 01.05 조회 2555

    Php 비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행합니다. 또한, 비트…

  • PHP 논리 연산자
    등록자 console
    등록일 01.05 조회 2614

    Php 논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환합니다. and, or, …

  • PHP 비교 연산자
    등록자 console
    등록일 01.05 조회 2634

    Php 비교 연산자(comparisonoperator) 비교 연산자는피연산자사이의 상대적인 크기를 판단하여,참(true)과 거짓(false)을 반환합니…

  • PHP 증감연산자
    등록자 console
    등록일 01.05 조회 2242

    Php 증감 연산자(increment and decrement operator) 증감 연산자는피연산자를 1씩 증가 혹은 감소시킬 때사용하는 연산자입니다…

  • PHP 대입연산자
    등록자 console
    등록일 01.05 조회 2310

    Php 대입 연산자(assignment operator) 대입 연산자는변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽…

  • PHP 산술연산자
    등록자 console
    등록일 01.05 조회 2312

    Php 연산자(operator) PHP는다양한 연산을 위해많은 종류의 연산자를 제공하고 있습니다. 산술 연산자(arithmetic operator) 산…

  • PHP 타입변환
    등록자 console
    등록일 01.05 조회 2714

    Php 자동 타입 변환(type juggling) PHP에서는 변수를 선언할 때 타입을 명시할 필요가 없습니다. 왜냐하면, PHP에서 변수의 타입은 해…

  • PHP 기본타입
    등록자 console
    등록일 01.05 조회 2332

    Php 기본 타입 타입(data type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미합니다. PHP에서는여러 가지 형태의 타입을 미리 정의하여제공…

  • PHP 상수
    등록자 console
    등록일 01.05 조회 2533

    Php 상수(constant) 상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다. 하지만 상수가 변수와 다른…