萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 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是同一個實例化對象' : '';

copyright © 萬盛學電腦網 all rights reserved