PHP中的'&'符号如何影响结果?

pri*_*ace 4 php operators joomla1.5

我已经编写并玩了很多PHP函数和变量,原作者编写了原始代码,我不得不继续开发产品,即.Joomla组件/模块/插件,我总是想出这个问题:

附加到函数或变量的'&'符号如何影响结果?

例如:

$variable1 =& $variable2;
Run Code Online (Sandbox Code Playgroud)

要么

function &usethisfunction() {
}
Run Code Online (Sandbox Code Playgroud)

要么

function usethisfunction(&thisvariable) {
{
Run Code Online (Sandbox Code Playgroud)

我已经尝试搜索PHP手册和其他相关来源,但找不到任何专门解决我的问题.

Pao*_*ino 7

这些被称为参考.

以下是一些"常规"PHP代码的示例:

function alterMe($var) {
    $var = 'hello';
}

$test = 'hi';
alterMe($test);
print $test; // prints hi

$a = 'hi';
$b = $a;
$a = 'hello';
print $b; // prints hi
Run Code Online (Sandbox Code Playgroud)

这是你可以使用引用实现的:

function alterMe(&$var) {
    $var = 'hello';
}

$test = 'hi';
alterMe($test);
print $test; // prints hello

$a = 'hi';
$b &= $a;
$a = 'hello';
print $b; // prints hello
Run Code Online (Sandbox Code Playgroud)

详细信息在文档中.但基本上:

PHP中的引用是一种通过不同名称访问相同变量内容的方法.它们不像C指针; 相反,它们是符号表别名.请注意,在PHP中,变量名称和变量内容是不同的,因此相同的内容可以具有不同的名称.最接近的类比是Unix文件名和文件 - 变量名是目录条目,而变量内容是文件本身.引用可以比作​​Unix文件系统中的硬链接.