php提供了一種叫作“引用賦值”的方式,也就是讓新變量指向原變量,一旦新變量的值發生變化,原變量的值也會隨着發生變化,一下面的語句爲例由於新變量var2指向原變量var1(前面加上&符號),當新變量var2的值變爲“Mary”時,原變量var1的值也會隨着變爲“Mary”:
$var1 = "John"; //原變量var1的值爲“John”
$var2 = &$var1; //新變量var2指向原變量var1(前面加上&符號)
$var2 = "Mary"; //新變量var2的值更改爲“Mary”
echo $var2; //新變量var2的值更改爲“Mary”,故顯示出“Mary”
echo $var1; //原變量var1的值隨着新變量var2更改爲“Mary”,故顯示出“Mary”
下面的例子是應用在foreach中:
$level = ['value'=> 0, 'label' => 'Root'];
foreach ($level as $key => &$option) {
$option = $option . 'Top';
}
這裏面foreach中的value值 option值發生改變時。數組$level跟着發生變化,所以上面的代碼執行完之後得到的結果如下:
Array
(
[value] => 0Top
[label] => RootTop
)