在函数的参数之前使用 & 的目的是什么?

2022-08-30 12:37:08

我看到一些这样的函数声明:

function boo(&$var){
 ...
}

这个角色是做什么的?&


答案 1

这是一个通过引用。函数内的变量“指向”与调用上下文中的变量相同的数据。

function foo(&$bar)
{
  $bar = 1;
}

$x = 0;
foo($x);
echo $x; // 1

答案 2

基本上,如果你在函数内部改变,它就会在外面改变。例如:$var

$var = 2;

function f1(&$param) {
    $param = 5;
}

echo $var; //outputs 2
f1($var);
echo $var; //outputs 5

推荐