class A { public $o; function __construct(&$o) { $this->o = $o; } function set($v) { $this->o["foo"] = $v; }}$o = ["hello" => "world"];$a = new A($o);$a->set(1);echo json_encode($a->o) // { "hello": "world", "foo": 1 }echo json_encode($o) // { "hello": "world" }我必须怎么做才能让输出 #2 像输出 #1 一样?
2 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
将值传递给变量时,必须在构造函数中指定对参数的引用。
function __construct(&$o) {
$this->o = &$o;
}
输出:
echo json_encode($a->o); // { "hello": "world", "foo": 1 }
echo json_encode($o); // { "hello": "world", "foo":1 }
- 2 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消