php - 更改在 PHP 中作为数组的类变量

标签 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 并且它抑制了上述错误,但我尝试更改的变量仍然没有获得新值。

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

非常感谢任何帮助。

最佳答案

这行吗:

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

关于php - 更改在 PHP 中作为数组的类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12191824/

相关文章:

php - 时间戳 SQL 到 Excel

php - PHP-错误ASCII = 16状态= 0输入中出现意外字符

Ruby:如何将从文件中读取的行拆分为二维数组?

c - 根据第一个数组元素对文件进行排序

Javascript forEach 返回值插入字符串

php无法读取utf8中的字符

php - PHP:检查键值不为空

arrays - 在 bash 中将元素追加到数组

object - 哈希的代理对象?

javascript - 在JS中过滤另一个数组中的对象数组