@pzin: el problema de foreach() como bien dice @max_mouse699 es que tienes que preguntar antes si no hay un arreglo vacio (empty o null)pues explota
Creeria es un BUG no-solucionado y bien viejo pues esa simple comparacion no lo hace ineficiente y nos ahorraria muchos problemas. Ademas, NULL fue implementado pensando en no generar justamente este tipo de problemas.
Sin embargo, investigando encontre alguien reporto un HACK para esto:
Código PHP:
<?php
$items = null;
foreach((array) $items as $item) {
print $item;
}
Notar el casting a 'array' con (array)