PHP 7.2.7 警告:为 foreach() 提供的参数无效

PHP 7.2.7 Warning: Invalid argument supplied for foreach()

使用 PHP 7.2.7 时收到警告消息,但使用 PHP 7.2.11 时它工作正常。

Warning: Invalid argument supplied for foreach() 
foreach ($result->data as $posty) {  

有什么想法吗?它也适用于 PHP 5.2。

这件事在 php7 中发生了变化。请检查您是否将有效的数组或对象传递给 foreach 循环。

您遇到的错误意味着 php 解释器无法循环遍历您的 $result->data 项。

我通常在将它们传递给 foreach 之前检查结构,如下所示:

if ($result->data && (gettype($result->data)=='array' || gettype($result->data )=='object')) {
 foreach ($result->data as $posty) {
  ...
 }
}