我试图在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/
| 归档时间: |
|
| 查看次数: |
8978 次 |
| 最近记录: |