当函数的实参或形参通过引用传递时,函数会将该形参作为引用,并且在函数内部对形参进行的任何更改也会更改形参本身。
默认情况下,PHP 使用按值传递方法。要通过引用传递参数,请在变量名称之前使用与号 (&)。通过引用传递意味着函数内的代码将更改用于传入函数的参数。
示例:
在下面的示例中,函数名为 Square 创建后返回传递参数的平方。该函数在返回参数之前将其修改为其自身的平方。在 PHP 脚本中,当调用函数 Square 后打印传递的参数时,参数的值会发生变化,因为它是通过引用传递的。
<?php
function Square(&$x){
$x = $x*$x;
return $x;
}
$x = 5;
echo "x 的初始值: $x\n";
Square($x);
echo "通过引用传递后 x 的值: $x\n";
?>
上面的输出代码为:
x 的初始值: 5
通过引用传递后 x 的值: 25
从结果可知,PHP函数通过引用传递,改变了函数外的值。