php自定义函数调用全局变量的另类方法
今天在修改网站的网银支付系统时,发现了这种方法。以前写程序时,在php自定义函数里调用全局变量一般都是在函数开头加上global声明一下全局变量,然后才在函数里使用,但这里提到的这种方法,却不用那么麻烦,只需要在一个公用函数里声明一下变量,那么就可以在任何地方调用这个变量的值。掌握这种方法很简单,只需要巧用”&”符号。
这里用一个简单的例子说明下”&”的妙用
01<?php
02$a = 'c';
03$b = &$a; //表示$b 和 $a 引用了同一个变量
04$a = 'abc'; //这里重置了$a
05echo $b; //将输出abc
06unset($a); //取消引用
07echo $b; //这里仍输出 abc
08$a = 'abcd';
09echo $b; //因为已经取消引用 这里仍输出abc
10?>
同样的原理,我们可以用在php自定义函数里调用全局变量的时候,例如:
01<?php
02//先定义一个公用函数
03function setValue(&$a)
04{
05$a = '123456';
06}
07//执行公用函数,使函数里的变量得到赋值
08setValue($a1);
09
10//自定义函数,注意:这里没用global声明
11function getValue($a)
12{
13echo $a;
14}
15//执行自定义函数,将输出123456
16getValue($a1);
17?>
在调用多个变量时,只需要在前面的公用函数里预先声明并赋值,都可以在后面进行调用;如果两个函数不在一个页面里,同样可以采用include_once等引用包含了公用函数的页面进行调用
页:
[1]