ThinkPHP间接修改重载元素无效

爷,独闯天下 提交于 2020-04-06 18:57:52

Notice:Indirect modification of overloaded element of app\api\model\Post has no effect

问题代码:

首先,这个问题与实现ArrayAccess的所有类有关,它不是具体Post类的一个特殊问题。

当您使用[]运算符从Post访问元素时,它的行为与数组不完全相同。在内部它的offsetGet()方法被调用,并将在你的情况下返回数组 – 但不返回该数组的引用。这意味着您对$data['comment']所做的所有修改都将丢失,除非您将其保存回来。

解决方法:

新建一个变量存放$data['comment'],在遍历赋值结束后,将变量值覆盖$data['comment']。

	$cur = $data['comment'];
	foreach($cur as $k=>$v){
	
	}
	$data['comment'] = $cur;
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!