소개
++로 표시되는 C 스타일 증가 및 감소 연산자 및 -- PHP에서도 각각 정의됩니다. 이름에서 알 수 있듯이 ++ 증가 연산자는 피연산자 변수의 값을 1씩 증가시킵니다. 감소 연산자 --는 값을 1씩 감소시킵니다. 둘 다 하나의 피연산자만 필요하므로 단항 연산자입니다. 이러한 연산자(++ 또는 --)는 표현식으로 또는 더 복잡한 표현식에서 다른 연산자와 함께 접두사 또는 후위 방식으로 사용할 수 있습니다.
구문
$x=5; $x=5; $y=5; $x++; //postfix increment $y--; //postfix decrement ++$y; //prefix increment --$x; //prefix decrement
독립적으로 사용될 때 접두사와 접두사 증가/감소 연산자는 유사하게 작동합니다. 결과적으로 $x++ 및 ++$x는 모두 $x의 값을 1만큼 증가시킵니다. 마찬가지로 $y--와 --$y는 모두 $y의 값을 1만큼 감소시킵니다.
다음 코드는 후위/접두사 방식으로 증가/감소 연산자의 효과를 보여줍니다.
예시
<?php $x=5; $y=5; $x++; //postfix increment $y--; //postfix decrement echo "x = $x y = $y" . "\n"; ++$y; //prefix increment --$x; //prefix decrement 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++; //postfix increment echo "a = $a x = $x" . "\n"; $b=--$y; //prefix decrement echo "b = $b y = $y" . "\n"; ?>
출력
다음 결과가 표시됩니다.
a = 5 x = 6 b = 4 y = 4
ASCII 문자 변수를 사용한 증분/연산도 가능합니다. ASCII 세트의 다음 문자가 증가합니다. 증가가 세트를 초과하는 경우, 즉 Z를 넘어서면 ASCII 세트의 다음 라운드가 반복됩니다. 즉, Z 값을 갖는 변수는 AA로 증가합니다. ASCII가 아닌 문자(A-Z, a-z 및 0-9 제외)는 증가 연산자에서 무시됩니다.
예시
<?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