《PHP應(yīng)用:了解PHP的返回引用和局部靜態(tài)變量》要點(diǎn):
本文介紹了PHP應(yīng)用:了解PHP的返回引用和局部靜態(tài)變量,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
PHP教程先閱讀手冊
==========
從函數(shù)返回一個(gè)引用,必須在函數(shù)聲明和指派返回值給一個(gè)變量時(shí)都使用引用操作符 & :?
代碼如下:
<?php?
function &returns_reference()?
{?
??? $someref = 0;?
??? return $someref;?
}?
??
$newref = &returns_reference();//相當(dāng)于 $newref = &$someref;?
?>
PHP教程有關(guān)引用的更多信息, 請(qǐng)查看引用的解釋.
PHP教程在來看一段很多開源代碼喜歡用的單例注冊模式
代碼如下:
class a{}?
class b{}?
function & aa($name)?
{?
??? static $class = array(); //局部靜態(tài)變量 不隨辦法的執(zhí)行結(jié)束而消失 而是堅(jiān)持到整個(gè)源程序結(jié)束時(shí)才結(jié)束生命周期?
??? if(!$class[$name])?????? //所以 此處的聲明/初始化語句 只在首次聲明時(shí)起作用?
??? {??????????????????????? //之后再調(diào)用此辦法時(shí), 靜態(tài)變量不再重新初始化value?
??????? $class[$name] = new $name();?
??? }?
??? return $class[$name];?
}?
$a = & aa('a');?
$b = & aa('b');?
??
$a2 = & aa('a');?
$b2 = & aa('b');?
??
echo $a === $a2 ? '$a和$a2是同一個(gè)實(shí)例化對(duì)象<br/>' : '';?
echo $b === $b2 ? '$b和$b2是同一個(gè)實(shí)例化對(duì)象' : '';
《PHP應(yīng)用:了解PHP的返回引用和局部靜態(tài)變量》是否對(duì)您有啟發(fā),歡迎查看更多與《PHP應(yīng)用:了解PHP的返回引用和局部靜態(tài)變量》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10403.html