Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 참조 할당 연산자(=&) 완벽 정리 – 변수에 참조를 할당하는 방법

PHP에서 변수에 참조를 할당하는 방법

PHP에서는 참조 할당 연산자=&를 사용하여 하나의 변수를 다른 변수에 참조로 할당할 수 있습니다. 참조가 할당된 변수들은 서로 같은 메모리 공간을 가리키기 때문에, 한쪽의 값이 변경되면 다른 쪽의 값도 자동으로 함께 변경됩니다.

기본 문법

$currentValue = &$anyVariableName;

먼저 아래와 같은 값을 가진 변수가 있다고 가정해 보겠습니다.

$nextValue = 100;

여기에 새로운 변수를 만들고 참조를 할당합니다.

$currentValue = &$nextValue;

이제 $currentValue$nextValue의 복사본이 아니라, 동일한 값을 공유하는 참조가 됩니다.

예제 코드

<!DOCTYPE html>
<html>
<body>
<?php
   $nextValue = 100;
   $currentValue = &$nextValue;
   echo "Next Value=",$nextValue,"<br>";
   echo "Current Value=",$currentValue,"<br>";
   $nextValue = 45000;
   echo "=& 연산자 때문에 next 값이 변경되면 current 값에도 반영됩니다.","<br>";
   echo "Next Value=",$nextValue,"<br>";
   echo "Current Value=",$currentValue;
?>
</body>
</html>

실행 결과

Next Value=100
Current Value=100
=& 연산자 때문에 next 값이 변경되면 current 값에도 반영됩니다.
Next Value=45000
Current Value=45000

결과 분석

위 예제를 살펴보면 다음과 같은 흐름을 확인할 수 있습니다.

  • 처음에 $nextValue에 100을 할당하고, $currentValue에 이를 참조로 할당했습니다. 따라서 두 변수 모두 100을 출력합니다.
  • 이후 $nextValue의 값을 45000으로 변경하자, $currentValue의 값도 함께 45000으로 바뀌었습니다.

이처럼 =& 연산자로 참조를 할당하면 두 변수는 독립적인 값이 아니라 같은 데이터를 공유하게 됩니다. 일반적인 대입(=)은 값을 복사하지만, 참조 할당은 원본 데이터를 함께 가리키는 것이 핵심 차이점입니다.