程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 了解PHP的返回引用和局部靜態變量

了解PHP的返回引用和局部靜態變量

編輯:PHP綜合

先閱讀手冊
==========
從函數返回一個引用,必須在函數聲明和指派返回值給一個變量時都使用引用操作符 & : 
復制代碼 代碼如下:
<?php 
function &returns_reference() 

    $someref = 0; 
    return $someref; 

  
$newref = &returns_reference();//相當於 $newref = &$someref; 
?>

有關引用的更多信息, 請查看引用的解釋。

在來看一段很多開源代碼喜歡用的單例注冊模式
復制代碼 代碼如下:
class a{} 
class b{} 
function & aa($name) 

    static $class = array(); //局部靜態變量 不隨方法的執行結束而消失 而是堅持到整個源程序結束時才結束生命周期 
    if(!$class[$name])       //所以 此處的聲明/初始化語句 只在首次聲明時起作用 
    {                        //之後再調用此方法時, 靜態變量不再重新初始化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是同一個實例化對象' : '';

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved