1、引用类型的参数
// 引用
function demo(&$param=null)
{
$param .=' : see u tomorrow!';
return $param;
}
$name='fantiQ';
echo demo('fantasy'); // fail error: 变量才能被引用
echo demo($name).'<br>';
echo $name;
php中字符串('string')是常量 (const) 常量不能被引用
字符串作为变量传递 (&$param) 传递的并不是变量的copy 而是对变量存储地址 (内部对变量的改变会影响到函数外部变量)
最后的 echo $name ; 外部定义的$name变量已经改变
将外部变量绑定到函数内的局部变量
2、返回引用的函数
function &foo()
{
static $var=1;
return $var;
}
$var1 = &foo();
// $var1 = foo(); // 将不会起到预期的效果 foo()函数返回的不是内部变量 $var 的引用 而是copy
$var1++;
echo foo();//2
将函数内部的局部变量与外部变量绑定,外部修改影响内部变量