매뉴얼의 설명은 단순히 원래 변수를 참조(즉, "앨리어싱" 또는 "가리키기")하는 것입니다. 새 변수를 변경하면 원래 변수에 영향을 미치며 그 반대의 경우도 마찬가지입니다.
인용한다는 것은 한 사람의 이름이 두 개라는 것을 의미합니다. 어떤 이름을 부르든 그것은 같은 사람입니다.
다음 두 예제의 결과는 동일합니다. 삭제 또는 수정하면 다른 변수의 값에 영향을 미칩니다.
<code><?php <span>$foo</span> = <span>'Bob'</span>; <span>//</span> 将 <span>'Bob'</span> 赋给 <span>$foo</span><span>$bar</span> = &<span>$foo</span>; <span>//</span> 通过 <span>$bar</span> 引用 <span>$foo</span><span>$bar</span> = <span>"My name is $bar"</span>; <span>//</span> 修改 <span>$bar</span> 变量 echo <span>$bar</span>; echo <span>$foo</span>; <span>//</span><span>$foo</span> 的值也被修改 ?> <?php <span>$foo</span> = <span>'Bob'</span>; <span>//</span> 将 <span>'Bob'</span> 赋给 <span>$foo</span><span>$bar</span> = &<span>$foo</span>; <span>//</span> 通过 <span>$bar</span> 引用 <span>$foo</span><span>$foo</span> = <span>"My name is $bar"</span>; <span>//</span> 修改 <span>$foo</span> 变量 echo <span>$bar</span>,<span>"\n"</span>; echo <span>$foo</span>; <span>//</span><span>$foo</span> 的值也被修改 ?></code>
참조 삭제 시
<code><?php <span>$a</span> = <span>0</span>; <span>$b</span> = &<span>$a</span>; // <span>echo</span><span>$a</span>; //<span>0</span> // <span>unset</span>(<span>$b</span>); // <span>unset</span><span>$b</span><span>unset</span>(<span>$a</span>); // <span>unset</span><span>$b</span><span>echo</span><span>$b</span>; //<span>0</span> it<span>'s OK</span></code>
한 변수가 두 변수를 연속적으로 참조하는 경우 첫 번째 참조 변수를 두 번째 참조 변수로 변경합니다. 첫 번째 인용은 중요하지 않으며 서로 영향을 미치지 않습니다.
<code><span><span><?php</span><span>$a</span> = <span>"hihaha"</span>; <span>$b</span> = &<span>$a</span>; <span>$c</span> = <span>"eita"</span>; <span>$b</span> = &<span>$c</span>; <span>echo</span><span>$b</span>; <span>// shows "hihaha"</span></span></code>
함수별 주소별 호출은 실행 후 참조된 변수를 직접 변경하는 것과 같습니다. 여기
<code><span><span>function</span><span>test</span><span>( &<span>$a</span> )</span> {</span><span>$a</span> += <span>10</span>; <span>return</span><span>$a</span>; } <span>$b</span> = <span>1</span>; test(<span>$b</span>); <span>echo</span><span>$b</span>;<span>//输出11</span></code>
<code>function &test2() { <span>$b</span> = <span>0</span>;<span>//</span>申明一个静态变量 <span>$b</span> = <span>$b</span>+<span>1</span>; <span>return</span><span>$b</span>; } <span>$a</span> = test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为1 var_dump(<span>$a</span>); <span>$a</span> = test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为<span>2</span> var_dump(<span>$a</span>); <span>$a</span> = & test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为<span>3</span> var_dump(<span>$a</span>); <span>$a</span> = <span>5</span>; <span>$a</span> = test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为<span>6</span> var_dump(<span>$a</span>);</code>