0

我有这样的课:

    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";
4

0 回答 0