참조(reference)를 사용하여 변수를 함수로 넘겨 전달(pass)할수 있다. 그래서 함수 내에서 변수의 값을 수정할 수 있다. 다음이 그 예이다.
함수를 호출할때 참조를 이용하여 변수를 전달(pass)한다는 어떠한 표시도 없다는 것에 주의하자. 단지 함수를 정의 할때 변수를 참조에 의해 전달 받는다는 표시가 있다. 함수를 정의할때 이를 정의 함으로써 참조에 의한 변수 전달이 가능하다.참조에 의해 변수를 넘겨 주는 방법은 다음의 세가지 방법이 있다:
변수에 의한 방법, 즉. foo($a)
New라는 문장을 이용하는 방법, 즉. foo(new foobar())
함수로 부터 넘겨 받는 참조에 의한 방법, 즉.
참조에 의한 리턴(returning by reference)의 자세한 설명을 볼수 있다.위의 나열한 세가지 방법외에는 참조에 의한 전달(pass)을 할수 없다. 예를 들면 아래 예와 같은 방법으로 참조에 의한 전달은 그 의미가 그 의미가 정확하지 못하다.
이 모든것은 PHP 4.0.4 이상의 버젼에 해당된다.