update : 2015.11.03
php.shukuma.com

검색:
 
 
참조가 아닌 것

참조가 아닌 것

전에 설명했듯이, 참조는 포인터가 아니다. 이말의 의미는 다음 구문이 기대하던대로 작업을 수행하지 않을것이란 의미이다:

<?php
function foo(&$var)
{
    
$var =& $GLOBALS["baz"];
}
foo($bar); 
?>

위 예제에서 foo안의 $var변수는 호출자 안의 $bar와 연결될 것이다. 그리고 이 변수는 $GLOBALS["baz"]과 다시 연결될것이다. 참조 메카니즘을 사용하여 다른 호출 영역안의 $bar를 연결할수 있는 방법이 존재하지는 않는다. 왜냐하면 $bar는 함수 foo에서 유효하지 않기 때문이다 (그것은 $var에 의해 표현되는 것이 아니고, $var는 오직 변수 내용만을 소유하고 호출 심볼 테이블 내에서 이름이 값으로 변환되어 연결되지는 않는다). 함수에 의해 선택된 참조 변수를 참조 반환에 사용할 수 있습니다.