$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% 정도 빠르다고 한다.
반응형
'PHP' 카테고리의 다른 글
[PHP] 에러메시지 Undefined offset 의미 (0) | 2018.06.20 |
---|---|
[PHP] 바이너리 서치로 인덱스 필드값 찾기 (0) | 2018.05.15 |
[PHP] 회원들의 재구매율 알아보기(4) - 완성 (0) | 2017.10.13 |
[PHP] 회원들의 재구매율 알아보기(3) - 날짜 계산하기 strtotime() (0) | 2017.09.26 |
[PHP] 회원들의 재구매율 알아보기(2) - 두 배열 비교하기 in_array() (0) | 2017.09.25 |
[PHP] 회원들의 재구매율 알아보기(1) - MySQL 컬럼(열)을 배열로 만들기 (0) | 2017.09.24 |
[PHP] mysqli_fetch_row, assoc, array 의 차이 (4) | 2017.09.20 |
[PHP] DB에서 특정 행들만 가져오기(8) - DB 에서 열 이름 가져오기 (0) | 2017.09.19 |
[PHP] DB에서 특정 행들만 가져오기(7) - DB에서 가져온 정보 출력하기 mysqli_fetch_row() (0) | 2017.09.18 |
[PHP] DB에서 특정 행들만 가져오기(6) - 쿼리 작성하기 mysqli_query() (0) | 2017.09.17 |
댓글