ThinkPHP间接修改重载元素无效
Notice:Indirect modification of overloaded element of appapimodelPost has no effect
问题代码:
首先,这个问题与实现ArrayAccess的所有类有关,它不是具体Post类的一个特殊问题。
当您使用[]运算符从Post访问元素时,它的行为与数组不完全相同。在内部它的offsetGet()方法被调用,并将在你的情况下返回数组 – 但不返回该数组的引用。这意味着您对$data["comment"]所做的所有修改都将丢失,除非您将其保存回来。
解决方法:
新建一个变量存放$data["comment"],在遍历赋值结束后,将变量值覆盖$data["comment"]。
$cur = $data["comment"]; foreach($cur as $k=>$v){
}
$data["comment"] = $cur;
以上是 ThinkPHP间接修改重载元素无效 的全部内容, 来源链接: utcz.com/z/514911.html