我已经做了广泛的搜索一个数组,并发现这一点:改变类变量这是在PHP
&__get() issues, again. Major frustration is afoot
然而,没有提供的例子实际工作。
我有一个对象,它有一个多维数组的变量。我需要改变该数组中某个键的值。
例子:
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,它压制了上面的错误,但是我试图改变的变量仍然没有得到新的值。
我不知道我是否正在做这个权利,但我处于完全丧失状态。这样做而不将数组放在类变量中需要大量的重构,如果可能的话,我宁愿避免重做。
任何帮助非常感谢。
你可以张贴'CodeDocument'的代码? – xdazz
你可以显示你的'__set()'函数吗? – Touki
你不显示最重要的部分:'__get'是什么样的? – Jon