Сохранять в файл по определенному количеству строк

Рейтинг: 0Ответов: 1Опубликовано: 21.02.2015

Всем привет.

У меня на руках есть массив(с большим количеством элементов) вида

$a = array(
  'строка 1',
  'строка 2',
  'строка 3',
  'строка 4',
  .....
  'строка 500',
);

Мне нужно сохранять в файлы по 50 строк. Никак не могу сделать правильно условие, чтобы каждые 50 итераций сохранять в файл и продолжать дальше.

Ответы

▲ 4Принят

Можно счетчик, как советовал @Prikot, а можно сразу разбить массив с помощью функции array_chunk. Можно не записывать посторочно каждую часть, а "склеить" с помощью implode и разделителя "\n" или "\r\n", в зависимости от системы. В итоге, должно получиться что-то вроде этого:

$input_array = [ /* исходный массив*/ ];
$parts = array_chunk($input_array, 50);
$i = 1;
foreach($parts as $part){
  file_put_contents('data_file_'.($i++).'.txt', implode("\r\n", $part));
}

В итогде получите N-ное количество файлов: data_file_1.txt, data_file_2.txt и т.д., где будет по 50 строк