改变PHP中的数组的类变量

时间:2012-08-30 07:21:50

标签: php arrays object class-variables

我做了大量的搜索,发现了这个:

&__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并且它解决了上面的错误,但我尝试更改的变量仍然没有获得新值。 / p>

我不确定我是否正确行事,但我完全失去了。在不将数组作为类变量的情况下执行此操作将需要大量重构,我宁愿尽可能避免这样做。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这是否有效:

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