No es un problema importante, pero me preguntaba si existe una forma más clara de hacerlo. Sería bueno evitar anidar mi código con una declaración if innecesaria. Si $items
está vacío, php arroja un error.manera más limpia de omitir un foreach si el conjunto está vacío
$items = array('a','b','c');
if(!empty($items)) { // <-Remove this if statement
foreach($items as $item) {
print $item;
}
}
Probablemente podría simplemente usar el '@' supresor de errores, pero sería un poco hacky.
¿Qué? Si solo comenta el 'si' tiene allí, y cambia la primera línea a' $ items = array(); ', funciona perfectamente y funciona lógicamente. Debe haber más en tu pregunta. ¿'$ Items' no es una matriz? – strager
Supongo que es en caso de que el retorno de la función que puede devolver también falso. También tengo un problema similar y siempre controlo usando is_array – KoolKabin
FYI - '' foreach no admite la capacidad de suprimir mensajes de error usando '@'. '- http://php.net/manual/en/control-structures.foreach .php - entonces, no, no podría usar '@' –