PHP의 전위 및 후위 형식
사실 증가 및 감소 연산은 두 가지 방식으로
작성할 수 있습니다. 후위 형식에서는
연산이 변수 이름 뒤에 기록됩니다.
이렇게요: $a++. 그리고 전위
형식에서는 연산이 변수 이름 앞에 기록됩니다.
이렇게요: ++$a. 예제를 통해 두 방식의
차이점을 살펴보겠습니다.
다음 예제에서 첫 번째 echo는
0을 출력합니다. 화면에 출력이 먼저
수행된 후에 변수가 증가하기 때문입니다:
<?php
$num = 0;
echo $num++; // 0을 출력합니다. echo 이후에 변수가 증가하기 때문입니다.
echo $num; // 1을 출력합니다 - 변수가 변경되었습니다.
?>
이제는 변수가 먼저 증가한 후에 화면에 출력이 이루어집니다:
<?php
$num = 0;
echo ++$num; // 1을 출력합니다 - 변수가 즉시 증가했습니다.
?>
이러한 동작은 화면 출력뿐만 아니라 대입에서도 동일하게 적용됩니다:
<?php
$num1 = 0;
$num2 = $num1++; // $num2 변수에는 0이 기록됩니다.
echo $num2; // 0을 출력합니다.
echo $num1; // 1을 출력합니다 - $num2에 기록된 후 $num1 변수가 변경되었습니다.
?>
이제 후위 형식을 전위 형식으로 바꿔보겠습니다:
<?php
$num1 = 0;
$num2 = ++$num1; // $num2 변수에는 1이 기록됩니다.
echo $num2; // 1을 출력합니다.
?>
우리의 연산이 별도의 줄에서 수행된다면 전위 형식과 후위 형식 사이에 차이가 없습니다:
<?php
$num = 0;
++$num;
$num++;
echo $num; // 2를 출력합니다.
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num = 3;
echo ++$num;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num = 3;
echo $num++;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num = 3;
echo --$num;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num = 3;
echo $num--;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
코드를 실행하지 않고 화면에 무엇이 출력될지 결정하세요:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>