我有一組PHP函數,我想移入一個新類。上述功能之一是使用& $ OBJ的參數修改原來的對象:php從類功能傳回對象
function process_new_place_names(&$obj)
在此功能$ OBJ所做的任何更改都回傳給腳本。
問題是,我可以在PHP類中做這個嗎?另外,這種方法的術語是什麼?
我有一組PHP函數,我想移入一個新類。上述功能之一是使用& $ OBJ的參數修改原來的對象:php從類功能傳回對象
function process_new_place_names(&$obj)
在此功能$ OBJ所做的任何更改都回傳給腳本。
問題是,我可以在PHP類中做這個嗎?另外,這種方法的術語是什麼?
由於SomeKittens說,這是完全有可能在類中。但是,如果$obj
本身就是一個類的實例,並且您只需修改其成員變量(稱爲變異爲該對象),則無需通過引用來傳遞它。
例如,以下代碼將輸出baz
;
class Foo
{
public $bar;
}
function process_new_place_names($obj)
{
$obj->bar = 'baz';
}
$obj = new Foo();
$obj->bar = 'bar';
process_new_place_names($obj);
echo $obj->bar;
只有當您想要更改變量本身的值時才需要傳遞引用;例如,重新分配對象引用:
function process_new_place_names(&$obj)
{
$obj = new Foo();
$obj->bar = 'baz';
}
@Nick,如果你想知道爲什麼你的代碼使用,即使你的函數參數是爲了拿一個對象的引用,到PHP 5之前,這是實際需要。 – goat
@rambocoder我忘記了!謝天謝地,PHP 5。 –