증가/감소 연산자

PHP는 C 형식의 사전, 사후 증가 및 감소 연산자를 지원합니다.

Note: 증가/감소 연산자는 논리 값에 영향을 주지 않습니다. NULL 값을 감소하는 것도 영향이 없지만, 증가시키면 1이 됩니다.

증가/감소 연산자
예제 이름 효과
++$a Pre-increment $a를 1 증가하고, $a를 반환.
$a++ Post-increment $a를 반환하고, $a를 1 증가.
--$a Pre-decrement $a를 1 감소하고, $a를 반환.
$a-- Post-decrement $a를 반환하고, $a를 1 감소.

간단한 예제 스크립트입니다:

<?php
echo "<h3>Postincrement</h3>";
$a 5;
echo 
"Should be 5: " $a++ . "<br />\n";
echo 
"Should be 6: " $a "<br />\n";

echo 
"<h3>Preincrement</h3>";
$a 5;
echo 
"Should be 6: " . ++$a "<br />\n";
echo 
"Should be 6: " $a "<br />\n";

echo 
"<h3>Postdecrement</h3>";
$a 5;
echo 
"Should be 5: " $a-- . "<br />\n";
echo 
"Should be 4: " $a "<br />\n";

echo 
"<h3>Predecrement</h3>";
$a 5;
echo 
"Should be 4: " . --$a "<br />\n";
echo 
"Should be 4: " $a "<br />\n";
?>

PHP는 문자 변수에 계산 연산을 할 경우, C가 아닌 펄의 규정을 따릅니다. 예를 들면, 펄에서 'Z'+1은 'AA'가 되지만, C에서 'Z'+1은 '['( ord('Z') == 90, ord('[') == 91)입니다. 문자 변수는 증가만 할 수 있고, 감소는 할 수 없으며, 아스키 알파벳 문자(a-z와 A-Z)만 지원합니다.

Example #1 문자 변수에 계산 연산

<?php
$i 
'W';
for (
$n=0$n<6$n++) {
    echo ++
$i "\n";
}
?>

위 예제의 출력:

X
Y
Z
AA
AB
AC

논리값에 대한 증가나 감소는 영향이 없습니다.

add a note add a note

User Contributed Notes 1 note

up
69
hartmut at php dot net
12 years ago
Note that

$a="9D9"; var_dump(++$a);   => string(3) "9E0"

but counting onwards from there

$a="9E0"; var_dump(++$a);   => float(10)

this is due to "9E0" being interpreted as a string representation of the float constant 9E0 (or 9e0), and thus evalutes to 9 * 10^0 = 9 (in a float context)
To Top