php自定义函数调用全局变量的另类方法

今天在修改网站的网银支付系统时,发现了这种方法。以前写程序时,在php自定义函数里调用全局变量一般都是在函数开头加上global声明一下全 局变量,然后才在函数里使用,但这里提到的这种方法,却不用那么麻烦,只需要在一个公用函数里声明一下变量,那么就可以在任何地方调用这个变量的值。
掌握这种方法很简单,只需要巧用”&”符号。
这里用一个简单的例子说明下”&”的妙用

01 <?php
02 $a  =   'c';
03 $b  =   &$a;    //表示$b 和 $a 引用了同一个变量
04 $a  =   'abc'//这里重置了$a
05 echo $b;        //将输出abc
06 unset($a);      //取消引用
07 echo $b;        //这里仍输出 abc
08 $a  =   'abcd';
09 echo $b;        //因为已经取消引用 这里仍输出abc
10 ?>

同样的原理,我们可以用在php自定义函数里调用全局变量的时候,例如:

01 <?php
02 //先定义一个公用函数
03 function setValue(&$a)
04 {
05     $a      = '123456';
06 }
07 //执行公用函数,使函数里的变量得到赋值
08 setValue($a1);
09  
10 //自定义函数,注意:这里没用global声明
11 function getValue($a)
12 {
13     echo $a;
14 }
15 //执行自定义函数,将输出123456
16 getValue($a1);
17 ?>

在调用多个变量时,只需要在前面的公用函数里预先声明并赋值,都可以在后面进行调用;如果两个函数不在一个页面里,同样可以采用include_once等引用包含了公用函数的页面进行调用

posted on 2011-03-18 17:07  斯人-  阅读(567)  评论(0编辑  收藏  举报