PHP引用

在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]的值
而後咱們就獲得了這個奇葩的答案了。
相關文章
相關標籤/搜索