程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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是同一個實例化對象
    ' : '';

      echo $b === $b2 ? '$b和$b2是同一個實例化對象' : '';

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