了解PHP的返回引用和局部靜態(tài)變量
更新時間:2015年06月04日 11:10:06 投稿:junjie
這篇文章主要介紹了了解PHP的返回引用和局部靜態(tài)變量,返回引用一般的寫法是方法名前加&,局部靜態(tài)變量也有很妙用,需要的朋友可以參考下
先閱讀手冊
==========
從函數(shù)返回一個引用,必須在函數(shù)聲明和指派返回值給一個變量時都使用引用操作符 & :
復制代碼 代碼如下:
<?php
function &returns_reference()
{
$someref = 0;
return $someref;
}
$newref = &returns_reference();//相當于 $newref = &$someref;
?>
有關引用的更多信息, 請查看引用的解釋。
在來看一段很多開源代碼喜歡用的單例注冊模式
復制代碼 代碼如下:
class a{}
class b{}
function & aa($name)
{
static $class = array(); //局部靜態(tài)變量 不隨方法的執(zhí)行結束而消失 而是堅持到整個源程序結束時才結束生命周期
if(!$class[$name]) //所以 此處的聲明/初始化語句 只在首次聲明時起作用
{ //之后再調用此方法時, 靜態(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是同一個實例化對象<br/>' : '';
echo $b === $b2 ? '$b和$b2是同一個實例化對象' : '';
您可能感興趣的文章:
相關文章
PHP curl模擬瀏覽器采集阿里巴巴的實現(xiàn)代碼
都說阿里巴巴有不能采集和防采集的神話,今天就用張老師講的Curl采集寫了一個模擬瀏覽器的代碼。2011-04-04php中DOMDocument簡單用法示例代碼(XML創(chuàng)建、添加、刪除、修改)
PHP寫XML方法很多,這里主要介紹一下DOMDocument的用法,跟 JS大體上相同,其實非常簡單。2010-12-12