发布日期:2018-03-26
在 foreach ( ) 中使用无效的参数¶+ 查看更多
在 foreach ( ) 中使用无效的参数¶
+ 查看更多
发布日期:2018-03-07 14:29
分类:PHP
浏览次数:50
这个经常发生在我处理数据的时候,我会将一个数组或者一个NULL变量当做参数放在 foreach 中。
$values = get_values(); foreach ($values as $value){ ...}当你放进一些不是数组的参数在foreach中时,你会得到警告:
Warning: Invalid argument supplied for foreach() in [...]
假如重构一个总是返回一个数组的get_values() 函数不可能的话(向后兼容,不可用的源代码,无论其他原因),我想知道哪一个是最简洁和最有效的方式去避免那些警告:
将$values转换为数组
初始化$values 为数组
用 if 包裹住 foreach
其他(请建议)
初始化$values 为数组
用 if 包裹住 foreach
其他(请建议)
回答
我个人认为这是最干净的,不确定它是不是最有效的,要注意!
if (is_array($values) || is_object($values)){ foreach ($values as $value) { ... }}我喜欢的原因是因为它不会在你什么也没开始的时候去分配一个空数组。