[PHP메모] 참조 연산자

메모/PHP 2016. 4. 17. 14:35

728x90
반응형

참조 연산자


대입 연산자와 결합해서 쓸 수 있는 참조 연산자인 '&'에 대해 알아보겠습니다. 한 변수 값을 다른 변수에 대입하면 첫 번째 변수의 값을 복사하여 메모리 어딘가에 저장합니다.


$a = 5;

$b = $a;


이렇게 하면 $a의 값을 복사하여 $b에 저장하게 됩니다. 만약 $a의 값이 변경되어도 $b의 값에는 전혀 영향을 미치지 않습니다.


$a = 7; // $b는 여전히 5이다.


이때 '&' 연산자를 사용하면 좀 달라집니다.


$a = 5;

$b = &$a;

$a = 7; // $a와 $b 모두 7이다.


참조는 교묘하게 사용할 수 있습니다. 참조는 포인터라기보다는 별명에 가깝습니다. $a와 $b는 같은 메모리 위치를 가리키고 있습니다. unset()을 사용하여 둘의 관계를 떼어놓을 수 있습니다.


unset($a);


이와 같은 연산은 $b의 값(7)을 바꾸지는 못하지만, $a와 메모리에 저장되어 있는 7이라는 값사이의 연결을 제거합니다.


반응형

'메모 > PHP' 카테고리의 다른 글

[PHP메모] 오류 억제 연산자  (0) 2016.04.17
[PHP메모] 삼항 연산자  (0) 2016.04.17
[PHP메모] 단항 연산자  (0) 2016.04.13
[PHP메모] 피연산자  (0) 2016.04.13
[PHP메모] 상수, define() 함수  (0) 2016.04.13