在用foreach的时候,经常会有这样的Warning: Invalid argument supplied for foreach() in XXXxxx.php on line 172

foreach仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。 所以当foreach 里面的数组变量假为空并且不定义为数组的时候,就会产生以上报错的情况。

有两种办法解决:
第一是在赋值数组的时候先定义array:

$aa =array();
foreach($aa as $key=>$value){}

第二种方法:

foreach((array) $aa as $key=>$value)
PHP
暂无评论