当我们在函数中要操作某一外部变量时,使用的方法有以下几种
引用传递
function pass_by_reference(& $num)
{
// 注意$num作为你传递的参数的引用
// 其他变量也可以引用此变量以指向参数地址
$temp = & $num;
$temp ++;
}
$arg = 1;
pass_by_reference($arg);
echo $arg; // 2
pass_by_reference($arg);
echo $arg; // 3
全局数组
function add()
{
$GLOBALS[‘num‘] ++;
}
$num = 0;
add();
echo $num;
全局变量声明 global 这个最有意思 表象看起来就是给全局数组里的变量声明一个同名引用
function add()
{
//其实这里的global修饰符的运作机制为 $num = & $GLOBAL[‘num‘] 即定义一个全局变量$num的引用
global $num;
$num ++;
}
$num = 0;
add();
echo $num;
原文:http://my.oschina.net/sallency/blog/504610