本文主要是介绍Indirect modification of overloaded element of XXX has no effect,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
thinkphp5做foreach循环嵌套的时候报错:Indirect modification of overloaded element of XXX has no effect,网上搜索了一下,很多框架会报这个错误,比如Laravel、YII、Thinkphp5等,错误的直译意思为:间接修改XXX的重载元素没有效果。解决办法有两种,一种是通过&操作符进行引用处理,另一种是设置一个中间变量。本文采用第二种方法解决这个问题。
错误代码:
$datas = Db::name('data')->order('insert_date desc')->paginate(10);for($i=0;$i<count($datas);$i++){if($datas[$i]['machine']==0){$datas[$i]['machine']="XXXX";}}
正确代码:
$datas = Db::name('data')->order('insert_date desc')->paginate(10);for($i=0;$i<count($datas);$i++){if($datas[$i]['machine']==0){$temp=$datas[$i];$temp['machine']="XXX";$datas[$i]=$temp;}
创作不易,如果能够解决您的问题,请给我点个赞,谢谢,或者想给予我更多的鼓励,可微信扫码打赏
这篇关于Indirect modification of overloaded element of XXX has no effect的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!