domingo, 17 de abril de 2011

Invalid argument supplied for foreach()

Si utilizamos foreach para iterar por los resultados de una consulta en un array, y dicho array está vacío, nos encontraremos con el error:

foreach ( $mi_array as $mi_elemento ) {
   echo $mi_elemento
}

ERROR: Invalid argument supplied for foreach()

Para evitarlo es tan sencillo como "castear" como array la variable sobre la que iteramos:

foreach ( (array)$mi_array as $mi_elemento ) {
   echo $mi_elemento
}

Con este sencillo truco ya no aparecerá más el error en el log.