我进行了广泛的搜索,发现了以下内容:
&__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函数更改为&__get,它支持上面的错误,但我试图更改的变量仍然没有得到新的值。
我不确定我这样做是否正确,但我完全不知所措。如果不将数组作为类变量,则需要进行大量重构,如果可能的话,我宁愿避免这样做。
非常感谢您的帮助。
这行吗:
foreach ($code->files as $index => $value)
{
if (strcmp($value['id'], $fileid) == 0)
{
$value['title'] = "Test";
$code->save();
}
}