在PHP 中引用的意思是:不一樣的名字訪問同一個變量內容. 與C語言中的指針是有差異的.C語言中的指針裏面存儲的是變量的內容在內存中存放的地址 PHP 的引用容許你用兩個變量來指向同一個內容php
今天只說變量的引用指針
<? $a="ABC"; $b =&$a; echo $a;//這裏輸出:ABC echo $b;//這裏輸出:ABC $b="EFG"; echo $a;//這裏$a的值變爲EFG 因此輸出EFG echo $b;//這裏輸出EFG ?> 上面的這個代碼,很簡單。 開闢了一個空間,裏面放了「ABC」,而後用變量$a指引 變量$b的引用也指引到$a引用的空間地址 而後,修改了其中一個,兩個都發生了變化,由於兩個變量的引用地址都是同樣的。
如今咱們能夠來討論一個很尿性的問題了code
<?php $arr = array(1,2,3,4); foreach($arr as &$v) { echo $v; } echo PHP_EOL; foreach($arr as $v) { echo $v; } ?> 你們能夠猜猜最後的輸出結果 答案是:1234 1233 爲何是這個答案呢? 由於在第一次foreach輸出的時候,咱們使用的引用符,使$v的空間地址和$arr的最後一個輸出,$arr[4]連在一塊兒了 $v=$arr[4]這個意思 而後咱們第二次foreach的時候,咱們在輸出變量的同時,每次都在修改$arr[4]的值 而後咱們就獲得了這個奇葩的答案了。