什么是“&";在'&$var';在PHP中


What does "&" mean in '&$var' in PHP?

"&"'&PHP中的var'?有人能帮我进一步解释一下吗。提前谢谢。

这意味着通过引用传递变量,而不是传递变量的值。这意味着当程序流返回到调用代码时,preparese_tags函数中对该参数的任何更改都将保留。

function passByReference(&$test) {
    $test = "Changed!";
}
function passByValue($test) {
    $test = "a change here will not affect the original variable";
}
$test = 'Unchanged';
echo $test . PHP_EOL;
passByValue($test);
echo $test . PHP_EOL;
passByReference($test);
echo $test . PHP_EOL;

输出:

Unchanged
Unchanged
Changed!

您可以通过引用将变量传递给函数。此函数将能够修改原始变量。

您可以使用&

例如。。

<?php
function changeValue(&$var)
{
    $var++;
}
$result=5;
changeValue($result);
echo $result; // $result is 6 here
?>

默认情况下,函数参数是按值传递的(因此,如果函数内参数的值发生更改,则不会在函数外发生更改)。若要允许函数修改其参数,必须通过引用传递这些参数。

要使函数的参数始终通过引用传递,请使用前缀函数定义中参数名称的与号(&)。