PHP 매뉴얼
이전 | 14. 장. 참조 표현 | 다음

# 참조에 의한 전달

참조에 의해 함수로 변수를 전달할수 있다. 이런 기법은 함수의 인수를 변경할수 있도록 한다. 문법은 다음과 같다:

`<?php function foo (&$var) { $var++; } $a=5; foo ($a); // $a is 6 here ?>`

함수 호출에 대해 참조 표시를 할수 없다는 것에 주의해야 한다. - 함수선언에서만 참조표시를 할수 있다 함수 선언만으로도 충분히 참조에 의해 인수를 정확하게 전달할수 있다.

다음과 같은 것들은 참조에 의해 전달될수 있다:

- 변수, i.e. `foo($a)`

- New 구문, i.e. `foo(new foobar())`

- 참조, 함수에서 돌려받기, i.e.:

  `<?php function &bar() { $a = 5; return $a; } foo(bar()); ?>`

  참조로 돌려받기에서도 이 주제와 관련된 내용을 볼수 있다.

결과가 정의되어 있지 않기 때문에, 어떤 표현식들은 참조에 의해 전달되어서는 안된다. 예를 들어, 다음과 같은 참조에 의한 전달의 예제코드는 유효하지 않다.

`<?php function bar() // Note the missing & { $a = 5; return $a; } foo(bar()); foo($a = 5) // Expression, not variable foo(5) // Constant, not variable ?>`

이런 조건은 PHP 4.0.4 이후 버전에서만 요구된다.

이전 | 처음으로 | 다음
참조가 아닌것 | 위로 | 참조 돌려받기