Thinkphp Invalid argument supplied for foreach()
如下图所示:Thinkphp学习过程中,前端浏览测试时,模板页面输出了Invalid argument supplied for foreach()的错误。
该怎么处理呢!
错误提示 Warning:Invalid argument supplied for foreach() 的中文意思是说foreach需要的是一个数组,然后代码传递的参数不是数组。
这个现象怎么发生的? 小编的变量是从数据库中取出的数据,截断了数据,导致数据库查询没有结果。
解决方法:
模板结构写的太松散了,没有添加严谨的判定。在foreach循环的上方添加了一个if判断条件,判断变量是数组的情况,再执行foreach语句。
- {if is_array($tools)}
- {foreach $tools as $key=>$vo }
- <li><span>{$vo.category}-></span><a href=”{$vo.url}””>{$vo.name}</a></li>
- {/foreach}
- {/if}
复制代码