【发布时间】:2014-09-07 14:29:10
【问题描述】:
好的,所以我有一个可以访问的对象:
$this -> users["u-###"]
其中### 替换为用户的ID 号。对于我的规范,我将经常访问一个特定的用户,因此我将 $this -> my 分配给了一个特定的用户 ID(例如 $this -> users["u-123"])。
在我开始编辑分配给这些变量之一的值之前,这一直满足我的需求。例如:
$this -> users["u-123"] = 12;
不会自动更新$this -> my(毕竟它是按值赋值)。现在,我想使用& 运算符来解决这个问题,但是我分配这个值的方式不是很传统。这是我的方法:
$this -> my = $this -> get_user(123);
地点:
function get_user($id){
/* some stuff here.... */
$user = $this -> users["u-" . $id];
return $user;
}
所以我首先想到,只需更新分配,使其看起来像:
$this -> my = &$this -> get_user(123);
这并没有解决我的问题。所以我想在函数体内也这样做:
function get_user($id){
/* some stuff here.... */
$user = &$this -> users["u-" . $id];
return $user;
}
但这也不能解决问题。有没有办法实现引用分配(所以$this -> my 和$this -> users["u-123"] 都用我的get_user 方法指向同一个对象?
【问题讨论】:
标签: php reference variable-assignment assignment-operator