Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 증가/감소 연산자(++/--) 완벽 정리: 전위와 후위의 차이

개요

C 언어 스타일의 증가 연산자 ++와 감소 연산자 --는 PHP에서도 동일하게 제공됩니다. 이름 그대로 증가 연산자(++)는 피연산자 변수의 값을 1만큼 증가시키고, 감소 연산자(--)는 1만큼 감소시킵니다. 두 연산자 모두 하나의 피연산자만을 필요로 하는 단항(unary) 연산자입니다. 이 연산자들은 변수 앞에 붙이는 전위(prefix) 방식과 뒤에 붙이는 후위(postfix) 방식으로 사용할 수 있으며, 단독 표현식으로도, 더 복잡한 표현식 안에서 다른 연산자와 함께 사용할 수도 있습니다.

문법

$x=5;
$y=5;
$x++; // 후위 증가
$y--; // 후위 감소

++$y; // 전위 증가
--$x; // 전위 감소

단독으로 사용할 경우에는 전위 방식과 후위 방식이 동일하게 동작합니다. 즉, $x++와 ++$x 모두 $x의 값을 1 증가시키며, 마찬가지로 $y--와 --$y 모두 $y의 값을 1 감소시킵니다.

다음 코드는 증가/감소 연산자를 전위/후위 방식으로 사용했을 때의 효과를 보여줍니다.

예제

<?php
$x=5;
$y=5;
$x++; // 후위 증가
$y--; // 후위 감소
echo "x = $x y = $y" . "\n";
++$y; // 전위 증가
--$x; // 전위 감소
echo "x = $x y = $y" . "\n";
?>

실행 결과

다음과 같은 결과가 출력됩니다.

x = 6 y = 4
x = 5 y = 5

대입 표현식에서의 우선순위 차이

대입 표현식에서 사용될 때, 후위 ++ 또는 -- 연산자는 대입 연산자(=)보다 낮은 우선순위를 가집니다. 따라서 $a=$x++는 먼저 $a=$x가 실행된 후에 $x++가 수행됩니다. 반면 전위 ++/-- 연산자는 =보다 높은 우선순위를 가지므로, $b=--$y는 먼저 --$y가 실행된 뒤 그 결과값인 $y가 $b에 대입됩니다.

예제

<?php
$x=5;
$y=5;
$a=$x++; // 후위 증가
echo "a = $a x = $x" . "\n";
$b=--$y; // 전위 감소
echo "b = $b y = $y" . "\n";
?>

실행 결과

다음과 같은 결과가 출력됩니다.

a = 5 x = 6
b = 4 y = 4

ASCII 문자에 대한 증가 연산

증가 연산은 ASCII 문자 변수에도 적용할 수 있습니다. 문자를 증가시키면 ASCII 문자 집합에서 바로 다음 문자가 됩니다. 만약 증가 결과가 집합의 범위를 초과하면, 예를 들어 Z를 넘어서게 되면 ASCII 집합의 다음 순환 주기가 시작됩니다. 즉, 값이 'Z'인 변수는 'AA'로 증가합니다. 단, A-Z, a-z, 0-9에 해당하지 않는 비 ASCII 문자는 증가 연산자에서 무시됩니다.

예제

<?php
$var='A';
for ($i=1; $i<=3; $i++){
echo ++$var . "\n";
}
$var1=1;
for ($i=1; $i<=3; $i++){
echo ++$var1 . "\n";
}
?>

실행 결과

다음과 같은 결과가 출력됩니다.

B
C
D
2
3
4