大規模な検索を行ったところ、次のことがわかりました。
ただし、提供されている例はどれも実際には機能しません。
多次元配列である変数を持つオブジェクトがあります。その配列のキーの値を変更する必要があります。
例:
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 に変更しようとすると、上記のエラーは抑制されますが、変更しようとしている変数はまだ新しい値を取得しません。
これが正しいかどうかはわかりませんが、完全に途方に暮れています。クラス変数として配列を配置せずにこれを行うには、可能な限り避けたいリファクタリングがたくさん必要になります。
どんな助けでも大歓迎です。