我知道 &
用于引用,并且我见过它的用法如下:
$foo = &$bar;
或
function foo(&$bar) {...}
或
foreach($array as &$value) {...}
我知道 &
在上述情况下意味着什么。
但是我在CodeIgniter中看到了这个函数:
function &get_instance() {
return CI_Controller::get_instance();
}
我以前从未在函数名称前面见过&
。 &
在上面的函数中做了什么?
最佳答案
这称为returning by reference
,它只是将返回值绑定(bind)到您分配给它的变量。手册中有一个明确的示例:
<?php
class foo {
public $value = 42;
public function &getValue() {
return $this->value;
}
}
$obj = new foo();
$myValue = &$obj->getValue(); // $myValue is a reference to $obj->value, which is 42.
$obj->value = 2;
echo $myValue; // prints the new value of $obj->value, i.e. 2.
?>
关于php - 函数名前面的 & 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30281070/