php foreach 语法的遍历来源数组如果不是一个有效数组php会出现错误警告 Invalid argument supplied for foreach()

时间:2022-03-13 17:09:49

在php中,foreach语法的遍历来源数组如果不是一个有效数组,php会出现错误警告

Invalid argument supplied for foreach()

,但是很多时候这个数组是取自某些数据源的,有可能取不到而导致为空,为了防止频繁出现错误警告,应该在遍历之前对数组变量进行一个判断,如果该变量不是一个有效数组,则设置该变量为一个空数组即array(),这样是较好的解决办法。

但是这个解决办法会导致代码的繁冗,我总结了一个较方便的写法,使用三元运算符:

is_array($result = xxxxxxxxx)?null:$result = array();

即如果$result后的赋值表达式返回的结果是一个有效数组,则正常进行下面代码,否则给$result变量赋一个空数组值。