Интересно, смогу ли я
foreach (func_to_return_array() as $item) { ... }
это будет вызывать func_to_return_array()
много раз (длина массива)? если это так, я думаю, что будет лучше использовать
$arr = func_to_return_array();
foreach ($arr as $item) { ... }