我有这样的课:
class MyCustomClass extends BaseClass {
...
private $items = array(array());
...
public function MyFunction() {
$this->aBaseClassFunction(firstVar, function() {
$this->items[0][0] = "test value";
echo $this->items[0][0];
});
...
}
...
}
我已经阅读了其他各种stackoverflow 说明,$this 会自动绑定到闭包,因此在闭包定义中不需要“use”关键字。然而,当我调用 MyCustomClass->MyFunction() 时,输出显示 $items 数组仍然为空,这意味着它在闭包中是不可变的。
我努力了
$this->aBaseClassFunction(firstVar, function() use (&$this->items) {
但它给出了一个错误。
也试过这个没有运气。
$ref = &$this->items;
$this->aBaseClassFunction(firstVar, function() use ($ref) {
ref[0][0] = "test value";