欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

了解PHP的返回引用和局部靜態(tài)變量

 更新時(shí)間:2015年06月04日 11:10:06   投稿:junjie  
這篇文章主要介紹了了解PHP的返回引用和局部靜態(tài)變量,返回引用一般的寫(xiě)法是方法名前加&,局部靜態(tài)變量也有很妙用,需要的朋友可以參考下

先閱讀手冊(cè)
==========
從函數(shù)返回一個(gè)引用,必須在函數(shù)聲明和指派返回值給一個(gè)變量時(shí)都使用引用操作符 & : 

復(fù)制代碼 代碼如下:

<?php 
function &returns_reference() 

    $someref = 0; 
    return $someref; 

  
$newref = &returns_reference();//相當(dāng)于 $newref = &$someref; 
?>

有關(guān)引用的更多信息, 請(qǐng)查看引用的解釋。

在來(lái)看一段很多開(kāi)源代碼喜歡用的單例注冊(cè)模式

復(fù)制代碼 代碼如下:

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ì)象' : '';

相關(guān)文章

最新評(píng)論