在php中,foreach遍历数组如果不是一个有效数组,php会报一个错误警告
“Warning: Invalid argument supplied for foreach() in ……”
“Warning: Invalid argument supplied for foreach() in ……”
,很多时候这个数组是取自某些数据源,如果数组为空,就会出现错误警告,为了防止这种错误警告,应该在遍历之前对数组变量进行一个判断,如果该变量不是一个有效数组,可以对该变量加个if判断语句,还可以设置该变量为一个空数组即array():
foreach($arr as $key => $value)
{
代码块
}
改为:
if(is_array($arr)) //add
{
foreach($arr as $key => $value)
{
代码块
}
} //add
或者
foreach((array)$arr as $key => $value)
{
代码块
}