DWWEB.RU

Как записать массив в файл?

Вообще мы уже говорили о том, как получить массив из файла, но как записать в массив – это не освещали!

В начале разберёмся как записать простой массив в файл, а потом уже разберёмся, как записывать ассоциативный массив в файл.

Как записать простой массив в файл!?

Есть три способа(вида) записать данные массива в файл, в зависимости от виде записи, то и получение из этого файла будет свой!

1.

Запись массива в файл в строку

Если же вы хотите записать в одну строку ваш массив, то каждую ячейку массива нужно отделять от другой ячейки массива разделителем(например здесь знак умножения *), и строка должна быть такого типа:
кошка*собака*корова*курица И далее просто записываем ваш массив в файл с помощью функции file_put_contents

Код для записи массива в строку:

file_put_contents('1.txt', 'кошка*собака*корова*курица');

У вас должно получиться вот так.

Какой знак использовать для разделителя!?

Это должен быть такой знак. Который вряд ли когда-то будет в вашем тексте – иначе будет возникать ошибка!

И обратный процесс получение данных в массив из строки.
2.

Вариант номер два: запись массива в файл

Мы уже говорили о том, как записывать данные в файл и там рассмотрели множество вариантов записи данных.

Если в первом варианте мы записывали в строку. То теперь будем записывать построчно!

Возьмем ту же строку:

кошка*собака*корова*курица

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

кошка\nсобака\nкорова\nкурица

Код для записи массива построчно:

file_put_contents('1.txt', "кошка\nсобака\nкорова\nкурица");

Обратите внимание на формат данных для записи массива построчно – используются двойные кавычки – почему!?

И обратный процесс получение данных в массив из файла.
3.

Вариант номер 3 запись массива в файл

Kак записывать ассоциативный массив в файл

Этот вариант, конечно же, тоже, можно использовать для записи простого массива, но в большей степени, этот вариант записи массива, пригодится для ассоциативный массива, потому, что первые два не подходят для этого, конечно можно извратиться и какую-то херню написать, и это будет работать, но есть способ намного проще!

Не будем придумывать новый массив у нас уже есть и вот так например он будет выгляедеть…

Код:

$new_array = array("кошка","собака","корова","курица");

Результат:

Array

(

[0] => кошка

[1] => собака

[2] => корова

[3] => курица

)

Далее берем функцию serialize и пропускаем этот массив через неё и получаем строку, которую абсолютно так же, как и в первом случае записываем в файл.

a:4:{i:0;s:10:"кошка";i:1;s:12:"собака";i:2;s:12:"корова";i:3;s:12:"курица";}

Ну и обратный процесс - unserialize

Например так:

$декодированный_массив = unserialize(file_get_contents('1.txt'));//декодирование в массив
Не забудь !
Оставить комментарийCOMMENTS+
Сообщений пока нет - Вы можете стать первым
BBcode
нажмите, чтобы загрузить аватар
Загрузить свой аватар(max ширина, высота = 100px) ( как это работает)

Закрыть
+=
Подписаться
Теги:

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…) Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2019