본문 바로가기
PHP

[PHP] $i++ 과 ++$i 의 차이

by LightBlogger 2018. 6. 21.

$i++ 과 ++$i 는 둘 다 $i의 값을 1 증가시키라는 의미지만, 처리 방법에 약간 차이가 있다.


다음과 같은 코드를 작성해 보면 차이를 알 수 있다.


<?php

$i = 0;
echo $i++,"<br>";
echo $i,"<br>";

$i = 0;
echo ++$i,"<br>";
echo $i,"<br>";

?>


결과는 다음과 같다.



$i++ 은 post-increment, ++$i 는 pre-increment라 하는데


$i++ 의 경우 다음과 같은 단계를 거친다.


1) 이전 $i 값을 내부 임시 변수에 저장


2) $i + 1


3) 값을 반환해야 할 경우 임시 변수에 저장된 값을 반환


그래서 처음 $i++ 의 값을 묻는 명령에 0이 반환되는 것이다.



반면 ++$i 의 경우 다음과 같은 단계를 거친다.


1) $i + 1


2) 새로운 $i 값 반환



위의 예처럼 $i++ 연산이 수행되는 순간을 묻거나 $a = $i++ 과 같이 다른 변수에 저장하는 일은 잘 없으므로


결국은 동일한 결과를 얻는다고 생각할 수도 있으나,


처리 속도는 ++$i 가 $i++ 보다 10% 정도 빠르다고 한다.



반응형

댓글