The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 引用的使用 ]

引用在程序中使用比较多,为了公用同一个内存,而不需要另外进行复制,在你所使用的PHP 环境下的使用引用时,需要注意下面的情况;

在对函数的输入参数中使用引用时,不能在调用的时候在输入参数前加&来引用,而直接使用该变量即可,同时必须在函数定义的时候说明输入参数来自引用,比如下面的代码:

  1. $nA = 1;   
  2. function aB( &$nVar ){   
  3.   
  4.     $nVar ++;   
  5.     return $nVar;   
  6. }   
  7. $nB = aB( $nA ) // 注意,此处不能使用 $nB = aB( &$nA )的方式;   
  8. echo $nB.”\n”;   
  9. echo $nA.”\n”;   
  10.   

此时  $nA 和 $nB 都是2;

你所使用的PHP 环境 下对引用的特殊要求源自php.ini 文件里面的allow_call_time_pass_reference 项设置, 对外公开的版本是 On ,这样就可以支持&直接加到调用函数时变量前面进行引用,但是这一方法遭到抗议,并可能在将来版本的PHP/Zend 里不再支持。受到鼓励的指定哪些参数按引用传递的方法是在函数声明里。你被鼓励尝试关闭这一选项(使用 off,你所使用的PHP 环境 下都是off)并确认你的脚本仍能正常工作,以保证在将来版本的语言里它们仍能工作。