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

回到顶部