как избежать ошибки вывода foreach?

в этой статьи, в нем упоминается:

foreach не поддерживает возможность подавления сообщений об ошибках с помощью '@'.

Как избежать вывода foreach ошибка? Я не хочу видеть:

предупреждение: недопустимый аргумент для foreach ()

есть ли способ сделать if else суждение?

3 ответов


перед foreach проверьте, содержит ли переменная массив:

if (is_array($var))
{
   foreach...
}

префикс переменной с (массив), как это.

foreach( (array) $array_thats_not_an_array as $key => $value ){
    echo $key . ' ' . $value;
}

if(!empty($array)) {
  foreach($array as $a) {
    // do something
  }
}