есть велосипед, смысл такой, делаем аргумент передаваемый в функцию по ссылке, в функции глобалим переменную, по умолчанию переменная пустая, после первой итерации массив будет доступен функции, в функции сделать проверку на заполненость аргумента, если пусто, то тянем файл