1.引用指的是不同的名稱訪問同一個變量內容
在深州等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站設計、成都網(wǎng)站制作 網(wǎng)站設計制作定制網(wǎng)站建設,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,全網(wǎng)營銷推廣,成都外貿網(wǎng)站建設公司,深州網(wǎng)站建設費用合理。
最簡單的例子為:
$a = &$b;
?>
在形參中加入引用變量,則實參會在函數(shù)執(zhí)行時被影響。
自 PHP 5 起,new 自動返回引用,所以$a = & new a;會報錯。
注意以下一個示例:
$a = 5;
$b = 7;
function foo()
{
global $a,$b;
$b = &$a; // if $GLOBALS[‘b’] = &$a; $b的值在外部就會變成$a的引用 5
}
foo();
echo $a; //5
echo $b; //still 7
?>
所以這里如果要改變$b,可以改寫為$GLOBALS[‘b’];
注意以下一個示例:
$a = 5;
$b = 7;
function foo(&$var)
{
$var = &$GLOBALS["b"];
}
foo($a);
echo $a; //still 5
echo $b; //7
?>
所以PHP里的引用,不能把它看作一個指針,它是一個不標準的東西。妹的。。 操 真奇怪。(通俗一點說,傳參的引用不能再被引用賦值)
上面這個例子可以這么理解:$var在foo調用時被綁定在$a身上,然后在函數(shù)里面又被綁定在$GLOBALS[“b”]身上,事實上$var并沒有改變什么,所以不起作用。
2.引用返回
參見下例:
function &foo($a)
{
return $a;
}
$a = 5;
$b = &foo($a);
$c = foo($a);
$a = 6;
echo $a; //6
echo $b; //5
echo $c; //5
?>
有這個概念就行了,暫時也不理解為毛要這么用。 哎。。 以后再說吧
3.取消引用
$a = 5;
$b = & $a;
unset($a);
echo $a;
echo $b;
?>
注意:這里的刪除只是刪除了這個值的引用而矣,值并不會變化。所以$b依然是5,$a不存在了,所以這里可以得出一個結論,直接賦值($a = 5)實際上$a是5這個值的一個引用(我個人的結論)。
4.引用定位
以下一個例子:
$var = &$GLOBALS[‘var’];
unset($var); //因為引用賦值的變量就是它本身,所以。。這里刪除后,$GLOBALS[‘var’]也同樣被刪除了。
?>