我已經做了廣泛的搜索一個數組,並發現這一點:改變類變量這是在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