在php中,foreach语法的遍历来源数组如果不是一个有效数组,php会出现错误警告
,但是很多时候这个数组是取自某些数据源的,有可能取不到而导致为空,为了防止频繁出现错误警告,应该在遍历之前对数组变量进行一个判断,如果该变量不是一个有效数组,则设置该变量为一个空数组即array(),这样是较好的解决办法。
但是这个解决办法会导致代码的繁冗,我总结了一个较方便的写法,使用三元运算符:
is_array($result = xxxxxxxxx)?null:$result = array();
即如果$result后的赋值表达式返回的结果是一个有效数组,则正常进行下面代码,否则给$result变量赋一个空数组值。
--------------------------------------------------------------------------------------
Warning: Invalid argument supplied for foreach()
问题Warning: Invalid argument supplied for foreach() in 完善解决方案
将报错的语句做如下修改(例):
把 foreach($extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } 改为 if(is_array($extcredits)) { //add foreach($extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } } 或 foreach((array)$extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } }
造成这个错误的原因多数是因为论坛升级、编码转换造成的! 如果对PHP熟悉的人,可以直接找到出错的地方,分析出错信息是对哪个数据库表操作时造成的(一般都是论坛的基本数据表),然后,找到相应表的原版数据导进去,问题可解决。
如果对PHP不熟悉的人,可以按出错信息提示的位置,用上面的修改方法进行修改,问题可解决。
相关推荐
Warning: Invalid argument supplied for foreach() in E:wampwwwmyshopcart.php on line 95 ``` 这意味着在第95行的 `foreach` 循环中,你提供的变量 `$items` 不是一个有效的数组或可迭代对象。 **解决方法** 有...
在编程语言中,`for`和`foreach`循环是两种常用的迭代工具,它们在处理集合或数组时发挥着重要作用。本文将深入探讨`for`和`foreach`在C#中的效率差异,以及如何根据具体场景选择合适的循环方式。 首先,`for`循环...
大家都知道foreach的参数如果不是数组类型,在运行的时候 就会出现类似“Warning: Invalid argument supplied for foreach() in XXX”warning信息。
### foreach、while、for性能比较 在编程领域中,循环结构是实现重复操作的基本手段之一。根据不同的场景和需求,开发者可以选择使用`foreach`、`while`或`for`等不同类型的循环。本文将深入探讨这三种循环在PHP中...
老生常谈foreach(增强for循环)和for的区别 在 Java 编程语言中,foreach 和 for 是两种常用的循环语句,都是用于遍历数组或集合的元素。然而,foreach 和 for 之间存在一些关键的区别,了解这些区别对于编写高效的...
在JavaScript中,有三种主要的循环方法:`forEach`、`for-in`和`for-of`,每种都有其特定的用途和特点。 `forEach`方法是ES5引入的一个数组方法,简化了对数组元素的遍历。例如: ```javascript myArray.forEach...
C#并发实战记录之Parallel.ForEach使用 本篇文章主要介绍了C#并发实战记录之Parallel.ForEach使用的相关知识点。通过示例代码,详细介绍了Parallel.ForEach的使用方法和优化技巧。 一、使用Parallel.ForEach优化...
`for` 和 `foreach` 循环在C#中被广泛使用,它们各自有特定的用途和效率特点。本篇将深入探讨这两种循环结构,以及它们在执行大量遍历操作时的性能差异。 `for` 循环是一种灵活的循环结构,适用于需要知道循环次数...
在实际开发中,理解并熟练运用`for`、`foreach`循环以及`array_column`函数,可以帮助你更有效地处理和操作PHP数组,提高代码的可读性和效率。这些概念在处理数据库查询结果、数组排序、数据过滤等场景中尤其重要。...
Mybatis批量foreach merge into的用法 Mybatis批量foreach merge into的用法是通过Mybatis的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不...
<php+mysql>PHP脚本条件判断,foreach循环,以及粘性表单
"for、foreach、iterator的用法和区别" 在 Java 编程语言中,for、foreach 和 iterator 是三种常用的遍历数组和集合的方法。它们之间有相似之处,但也存在着许多不同之处。 相同点:三者都可以用来遍历数组和集合...
在MyBatis中,`<foreach>`标签是一个非常重要的元素,它主要用于动态SQL语句的构建,尤其是在处理集合数据类型如List、Array、Map时。`<foreach>`标签的使用可以极大地提高代码的可读性和可维护性,避免了传统的字符...
在本文中,我们将详细介绍Foreach语句的用法和优点,并与传统的for循环语句进行比较。 一、Foreach语句的基本用法 -------------------------------- Foreach语句的基本语法结构为: ```csharp foreach (变量类型 ...
在.NET编程环境中,`Parallel.ForEach`是一个非常有用的并行处理工具,它允许开发者将数据集中的每个元素在多个线程上并行处理,以提高应用程序的执行效率。然而,正如标题所指出的,`Parallel.ForEach`可能会遇到...
在PHP中,`foreach`循环通常用于遍历数组或对象,其基本结构如下: ```php foreach ($array as $value) { // 代码块 } ``` 在这里,`$array`是要遍历的数组,`$value`是每次循环中数组元素的当前值。`foreach`会...
在VB6.0编程环境中,`Foreach`循环和数组是两种非常重要的概念,它们在处理数据集合时发挥着核心作用。本篇文章将深入探讨这两个主题,并通过具体的代码示例来展示它们在实际编程中的应用。 一、数组 数组是一种...
"Java 中的增强 for 循环 foreach" Java 中的增强 for 循环 foreach 是一种语法糖,它能够提高性能,并减少代码出错的几率。foreach 循环是用来对数组或者集合进行遍历的语法,具体语法如下:for(元素类型 ele : ...
低版本IE数组和HTMLCollection元素集合不兼容forEach循环遍历的处理方法 原生JavaScript通过name获取dom元素得到的是 ...for (var i = 0; i ; i++) { console.log(list[i].id); //second console output }