PHP中"&"符号的含义是什么?

jef*_*kee 16 php

我试图在Google上找到这个答案,但我想这个符号&可以作为某个运算符,或者通常不是任何理由的搜索术语.无论如何.我在学习如何创建WordPress插件时看到了这段代码片段,所以我只需要知道&它在一个包含类对象的变量之前的含义.

//Actions and Filters
if (isset($dl_pluginSeries)) {

    //Actions
    add_action('wp_head', array(&$dl_pluginSeries, 'addHeaderCode'), 1);
    //Filters
    add_filter('the_content', array(&$dl_pluginSeries, 'addContent'));
}
Run Code Online (Sandbox Code Playgroud)

Phi*_*off 23

这将强制变量通过引用传递.通常,将为简单类型创建硬拷贝.这对于大字符串(性能增益)或者如果您想在不使用return语句的情况下操作变量,可以派上用场,例如:

$a = 1;

function inc(&$input)
{
   $input++;
}

inc($a);

echo $a; // 2
Run Code Online (Sandbox Code Playgroud)

对象将自动通过引用传递.

如果您想要复制到函数,请使用

clone $object;
Run Code Online (Sandbox Code Playgroud)

然后,原始对象不会改变,例如:

$a = new Obj;
$a->prop = 1;
$b = clone $a;
$b->prop = 2; // $a->prop remains at 1
Run Code Online (Sandbox Code Playgroud)


Mik*_*icz 10

变量前面的&符号表示对原始的引用,而不是副本或仅是值.

看这里: http://www.phpreferencebook.com/samples/php-pass-by-reference/