正在更改一个类变量';是PHP中的一个数组


Altering a class variable that's an array in PHP

我进行了广泛的搜索,发现了以下内容:

&amp__get()问题。正在遭遇重大挫折

然而,所提供的例子都不起作用。

我有一个对象,它有一个多维数组变量。我需要更改该数组中键的值。

示例:

foreach ($code->files as $index => $value)
{
    if (strcmp($code->files[$index]['id'], $fileid) == 0)
    {                               
        $code->files[$index]['title'] = "Test";
        $code->save();  
    }
}

上面的代码确实产生了错误:

Notice: Indirect modification of overloaded property CodeDocument::$files has no effect in /var/www/deletefile.php on line 57 

我已经尝试了前面引用的线程链接中的所有示例,但都不起作用。它们都会产生上面的错误。

我使用了一个预构建的类库(phpillow),但我尝试将__get函数更改为&amp__get,它支持上面的错误,但我试图更改的变量仍然没有得到新的值。

我不确定我这样做是否正确,但我完全不知所措。如果不将数组作为类变量,则需要进行大量重构,如果可能的话,我宁愿避免这样做。

非常感谢您的帮助。

这行吗:

foreach ($code->files as $index => $value)
{
    if (strcmp($value['id'], $fileid) == 0)
    {                               
       $value['title'] = "Test";
       $code->save();  
    }
}