Menu
Coddy logo textTech

Operator Precedence

Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 20번째.

표식에 여러 연산자가 포함되어 있을 때, PHP는 연산자 우선순위라고 불리는 특정 순서를 따릅니다. 수학에서와 마찬가지로 곱셈과 나눗셈은 덧셈과 뺄셈보다 먼저 수행됩니다.

<?php
echo 5 + 3 * 2; // 출력: 11, 16이 아님
?>

PHP는 먼저 3 × 2를 곱하여 6을 얻은 다음, 5를 더합니다. 만약 연산자들의 우선순위가 같다면, 왼쪽에서 오른쪽으로 계산되어 5 + 3 = 8이 되고, 그 다음 8 × 2 = 16이 되었을 것입니다. 하지만 실제로는 그렇게 작동하지 않습니다.

배운 연산자들에 대해 우선순위가 높은 것부터 낮은 것 순으로 정리하면 다음과 같습니다:

우선순위연산자
가장 높음** (거듭제곱)
높음* / %
낮음+ -

기본 순서를 재정의하려면 괄호를 사용하세요. 괄호 안의 연산이 항상 먼저 계산됩니다:

<?php
echo (5 + 3) * 2;  // 출력: 16
echo 2 ** 3 * 2;   // 출력: 16 (8 * 2)
echo 2 ** (3 * 2); // 출력: 64 (2^6)
?>

확실하지 않을 때는 괄호를 사용하여 의도를 명확하게 하세요. 그렇게 하면 코드를 더 읽기 쉽게 만들고 예상치 못한 결과를 방지할 수 있습니다.

challenge icon

챌린지

쉬움

입력에서 세 개의 숫자 a, b, c를 읽습니다.

괄호를 사용하여 덧셈이 곱셈보다 먼저 수행되도록 하여 다음 식의 결과를 계산하고 출력하세요:

(a + b) * c ** 2

이것은 다음을 의미합니다: 먼저 ab를 더한 다음, 그 합계에 c의 2제곱을 곱합니다.

예시:

입력이 2, 3, 4인 경우, 결과는 80이 되어야 합니다. 이유는 다음과 같습니다:

  • 먼저, 2 + 3 = 5를 더합니다.
  • 그 다음, 4 ** 2 = 16을 계산합니다.
  • 마지막으로, 5 * 16 = 80을 곱합니다.

직접 해보기

<?php
// 입력 읽기
$a = intval(fgets(STDIN));
$b = intval(fgets(STDIN));
$c = intval(fgets(STDIN));

// TODO: (a + b) * c ** 2를 계산하기 위한 코드를 아래에 작성하세요

// 결과 출력
echo $result;
?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨