番茄论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

Warning: Invalid argument supplied for foreach() 解决办法

[复制链接]
发表于 2020-5-20 11:21:27 | 显示全部楼层 |阅读模式
造成这个错误的原因多数是因为论坛升级、编码转换造成的! 如果对PHP熟悉的人,可以直接找到出错的地方,分析出错信息是对哪个数据库表操作时造成的(一般都是论坛的基本数据表),然后,找到相应表的原版数据导进去,问题可解决。 如果对PHP不熟悉的人,可以按出错信息提示的位置,用一下修改方法进行修改,问题可解决。
错误提示
Warning: Invalid argument supplied for foreach() in/www/wwwroot/wq.flwwweb.com/addons/tiger_newhu/module.php on line 180
20200313153207.png
解决方法方法一
  • 分析出错信息是对哪个数据库表操作时造成的(一般都是论坛的基本数据表),然后,找到相应表的原版数据导进去。
方法二
  • 找到错误代码按照以下进行修改
实例
  • 例如:Warning: Invalid argument supplied for foreach() in/www/wwwroot/wq.flwwweb.com/addons/tiger_newhu/module.php on line 180
  • /www/wwwroot/wq.flwwweb.com/addons/tiger_newhu/module.php 这个文件的第180行报错,我们找到这个文件的位置进行修改!
20200313154341.png
  • 我们将:foreach ($fyrmb as $key => $value) {
  • 添加(array)这个参数
  • 修改为:foreach ((array)$fyrmb as $key => $value) {
  • 然后保存!这是第一个修改方法。
  • 第二个修改方法,在前面添加一行:if(is_array(变量)){
  • 这段循环最后记得加个}
  • 例子:if(is_array($fyrmb))   {foreach ($fyrmb as $key => $value) {
    if (empty($value)) continue;
    $tplist1[] = array(‘fyrmb’=>$value,’zgfa’=>$zgfa[$key],’yjfa’=>$yjfa[$key],’ejfa’=>$ejfa[$key]);
    }  }
20200313155930.png

  • 修改完成后记得保存文件,如果有其他行数出错继续按照教程修改!
  • 记得更新浏览器缓存刷新查看!
简单说明解决办法
  • 找到错误文件和行数,按照下图操作
bdba2068.png


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


QQ|Archiver|手机版|小黑屋|番茄论坛

GMT+8, 2020-11-24 23:03 , Processed in 0.132316 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表