Сегодня я хочу показать как можно хранить массив в файле. Идея очень простая: сериализуем массив — приводим его к виду строки, потом записываем в файл. Получить массив обратно также просто — получаем строку из файла и обратно приводим ее к виду массива. Для преобразования массива в строку и обратно будем использовать две php функции — serialize и unserialize.
Приступим к коду, он оформлен в виде двух функций и подробно прокомментирован:
/**
* Запись массива в файл
*/
function writeArrayInFile($testArray){
$serArray = serialize($testArray); // преобразовываем массив в строку
$file = fopen ("array.txt","w+"); // открываем файл, если надо то создаем
fputs($file, $serArray); // записываем в него строку
fclose($file); // закрываем файл
}
/**
* Чтение массива из файл
*/
function readArrayInFile($fileName){
$file = fopen($fileName, 'r'); // открываем файл
$str = "";
// считываем все из файла
while (($buffer = fgets($file, 128)) !== false) {
$str .= $buffer;
}
$array = unserialize($str); // преобразовываем строку в массив
return $array;
}
И пример использования:
// пример использования
$testArray = array(1, 2, 3, 'five', 'six'); // тестовый массив
//writeArrayInFile($testArray); // записываем в файл
$array = readArrayInFile('array.txt'); // чтение из файла

А если в файле две строки, первая — одно уелое число, и вторая — совокупность чисел через пробел, то как тогда?
Я не совсем понял вопрос? В статье речь идет о массивах — они сериализуются и записываются в файл, потом обратно читаются.
Чтоб прочитать две строки, можно считывать файл построчно.