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

PHP의 '=&' 연산자란? 참조 할당(Assignment by Reference)의 개념과 사용법

PHP에서 '=&' 연산자는 한 변수의 데이터를 다른 변수로 단순히 복사하는 대신, 두 변수가 동일한 데이터를 함께 가리키도록 만드는 역할을 합니다. 이를 참조에 의한 할당(assignment by reference)이라고 부르며, 배열이나 객체에 가해진 변경 사항이 다른 변수에도 그대로 반영됩니다.

참조 할당을 사용하면 데이터의 복사본이 생성되지 않기 때문에 메모리 낭비와 데이터 중복(data redundancy)을 효과적으로 줄일 수 있습니다. 특히 대용량 배열이나 객체를 다룰 때 매우 유용합니다.

예제 코드

<?php
    $my_val1 = 67;
    $my_val2 = &$my_val1;
    $my_val1 = 89;
    print "The value is : ";
    print "$my_val2";
?>

실행 결과

The value is : 89

코드 설명

<?php ?> 태그 안에서 두 개의 변수가 선언됩니다. 여기서 두 번째 변수인 $my_val2는 $my_val1을 단순히 복사한 것이 아니라, 참조(&)를 통해 할당받았습니다.

이후 $my_val1의 값이 89로 변경되면, $my_val2를 출력했을 때 89가 화면에 표시됩니다. 이는 $my_val2가 $my_val1의 가장 최근에 업데이트된 값을 그대로 반영하고 있다는 의미입니다. 즉, 어떠한 데이터 복사 없이도 첫 번째 변수의 변경 사항이 두 번째 변수에 자동으로 전달된 것입니다.

핵심 정리

  • '=' 연산자는 값을 복사하지만, '=&' 연산자는 데이터가 저장된 메모리 위치를 공유합니다.
  • 참조 할당 후에는 두 변수가 항상 동일한 값을 유지합니다.
  • 데이터 중복을 피하고 메모리 사용을 최적화할 수 있습니다.