앞서 말했듯이 참조는 C 언어에서의 pointer와는 다르다. 아래의 예를 보고 그 결과가 우리가 기대했던 것과 다르다는 것을 안다면 참조(reference)와 pointer가 다르다는 것을 알수 있을 것이다.
위의 예에서 foo함수 내의 변수 $var 는 함수를 호출한 영역의 변수 $bar 와 동일한 값을 참조하지만 곧이어 전역변수 $GLOBALS["baz"]가 참조하는 값을 참조하도록 바뀐다. 이제 이 함수내에서 참조의 메카니즘을 사용하여 함수를 호출한 영역의 변수 $bar 를 참조할수 있는 방법이 없다. 따라서 함수를 호출한 영역의 변수 $bar 는 함수 foo내에서는 무의 미할수 밖에 없다. (즉 함수를 호출한 영역의 변수는 함수내의 변수 $var에 의해 나타낼수 있지만, $var 는 단지 변수값이지 symbol table에 정의된 변수명이 아니다.)