了解PHP的返回引用和局部靜態(tài)變量
先閱讀手冊(cè)
==========
從函數(shù)返回一個(gè)引用,必須在函數(shù)聲明和指派返回值給一個(gè)變量時(shí)都使用引用操作符 & :
<?php
function &returns_reference()
{
$someref = 0;
return $someref;
}
$newref = &returns_reference();//相當(dāng)于 $newref = &$someref;
?>
有關(guān)引用的更多信息, 請(qǐng)查看引用的解釋。
在來(lái)看一段很多開(kāi)源代碼喜歡用的單例注冊(cè)模式
class a{}
class b{}
function & aa($name)
{
static $class = array(); //局部靜態(tài)變量 不隨方法的執(zhí)行結(jié)束而消失 而是堅(jiān)持到整個(gè)源程序結(jié)束時(shí)才結(jié)束生命周期
if(!$class[$name]) //所以 此處的聲明/初始化語(yǔ)句 只在首次聲明時(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中static靜態(tài)變量的使用方法詳解
- php中的靜態(tài)變量的基本用法
- PHP static局部靜態(tài)變量和全局靜態(tài)變量總結(jié)
- php 靜態(tài)變量與自定義常量的使用方法
- PHP中的靜態(tài)變量及static靜態(tài)變量使用詳解
- php中靜態(tài)類(lèi)與靜態(tài)變量用法的區(qū)別分析
- 使用PHP靜態(tài)變量當(dāng)緩存的方法
- PHP中類(lèi)屬性與類(lèi)靜態(tài)變量的訪問(wèn)方法示例
- php中static 靜態(tài)變量和普通變量的區(qū)別
- PHP使用函數(shù)靜態(tài)變量實(shí)現(xiàn)指定迭代次數(shù)的方法
相關(guān)文章
PHP5.5安裝PHPRedis擴(kuò)展及連接測(cè)試方法
這篇文章主要介紹了PHP5.5安裝PHPRedis擴(kuò)展及連接測(cè)試方法,較為詳細(xì)的介紹了針對(duì)php5.5安裝PHPRedis擴(kuò)展的具體步驟與相關(guān)操作技巧,并給出了安裝后的連接測(cè)試示例,需要的朋友可以參考下2017-01-01PHP實(shí)現(xiàn)更改hosts文件的方法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)更改hosts文件的方法,結(jié)合具體實(shí)例形式分析了php操作hosts文件的相關(guān)讀取、設(shè)置、刪除等實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08PHP curl模擬瀏覽器采集阿里巴巴的實(shí)現(xiàn)代碼
都說(shuō)阿里巴巴有不能采集和防采集的神話,今天就用張老師講的Curl采集寫(xiě)了一個(gè)模擬瀏覽器的代碼。2011-04-04Mysql中l(wèi)imit的用法方法詳解與注意事項(xiàng)
mysql的數(shù)據(jù)一般都是用limit控制數(shù)量,它的使用方法也是需要注意的。2008-04-04php實(shí)現(xiàn)CSV文件導(dǎo)入和導(dǎo)出
這篇文章主要介紹了php實(shí)現(xiàn)CSV文件導(dǎo)入和導(dǎo)出的方法,具有一定的參考價(jià)值,需要的朋友可以參考下2015-10-10php中DOMDocument簡(jiǎn)單用法示例代碼(XML創(chuàng)建、添加、刪除、修改)
PHP寫(xiě)XML方法很多,這里主要介紹一下DOMDocument的用法,跟 JS大體上相同,其實(shí)非常簡(jiǎn)單。2010-12-12PHP亂碼問(wèn)題,UTF-8亂碼常見(jiàn)問(wèn)題小結(jié)
PHP亂碼問(wèn)題,UTF-8亂碼問(wèn)題比較常見(jiàn),通過(guò)下面的方法基本上就可以解決php亂碼問(wèn)題了,確實(shí)總結(jié)的不錯(cuò)2012-04-04php實(shí)現(xiàn)過(guò)濾表單提交中html標(biāo)簽的方法
這篇文章主要介紹了php實(shí)現(xiàn)過(guò)濾表單提交中html標(biāo)簽的方法,并以<br/>標(biāo)簽為例演示了過(guò)濾的方法,非常實(shí)用,需要的朋友可以參考下2014-10-10