看分享,阅见世界,分享此刻。是一个整理、分享,搜索的网站。智阅无界,洞见未来。
  • 文章
  • 专题
  • 文章
  • 登录
  • 注册
计科知识库 计科知识库 8天前

PHP下foreach()错误提示:Warning: Invalid argument supplied for foreach()

php

PHP Warning: Invalid argument supplied for foreach() in 的解决方法

解决方案:

错误提示 Warning:Invalid argument supplied for foreach() 的中文意思是说foreach需要是一个数组而给它的是一个无效的参数.

0343e012-dcb1-4831-904a-4d544bc591de

很多时候这个数组是取自某些数据源,如果数组为空,就会出现错误警告,为了防止这种错误警告,应该在遍历之前对数组变量进行一个判断,如果该变量不是一个有效数组,可以对该变量加个if判断语句,还可以设置该变量为一个空数组即array():

就是在循环前面加上判断,直接使用is_array判断给的值是不是为数组,代码如下:

  1. if(is_array($data)){
  2. foreach($data as $value){
  3. 代码
  4. }
  5. }

在php中使用foreach循环遍历时报Invalid argument supplied for foreach()错误,是因为循环的数据不是一个有效的数组。

或者我们先定义一个空数组,然后为数组赋值,再进行foreach操作:

  1. $data = array();
  2. $data = ... ; //数组赋值操作;
  3. foreach($data as $value){
  4. 代码
  5. }

因此我们只要在foreach之前判断一下数据源即可。

总结:

  1. 原代码
  2. foreach($arr as $key => $value)
  3. {
  4. 代码块
  5. }
  6. 改为:
  7. if(is_array($arr)) //add
  8. {
  9. foreach($arr as $key => $value)
  10. {
  11. 代码块
  12. }
  13. } //add
  14. 或者
  15. foreach((array)$arr as $key => $value)
  16. {
  17. 代码块
  18. }
  • © 2025 看分享 阅见世界,分享此刻。
  • 建议
  • | 鄂ICP备14016484号-7

    鄂公网安备 42068402000189

    访问微博看分享