Войти

Показать полную графическую версию : Из файла в массив


Georgiy
27-10-2004, 20:24
Пусть есть файл со следующим содержанием:
*имя|фамилия|отчество|<и т.д. до 10>
*<...>

Далее я читаю весь файл в массив
$DB=file("file.txt");

Потом я разбиваю каждую строку на переменные
for($i=0;$i<count($DB);$i++)
$tmp2=explode("|",$DB[$i],10);
...(*)
Получается, что $tmp[0]- имя, $tmp[1] - фамилия, и т.д.

Далее необходимо все эти перемнные загнать в первую строку массива,
следующую разбитую на переменные строку файла - во второую строку
массива и т.д. Я делаю это по-элементно, т.е.
$Massiv[] = array($tmp[0], $tmp[1], ...); (*)

А как мне проделать тоже самое, но не по-элементно, так как строка в файле может содержать до 30, к примеру, будущих перемнных?


Исправлено: Georgiy, 20:28 27-10-2004

archy
27-10-2004, 21:10
Чет я не понял, а зачем ты элементы массива запихиваешь в другой массив? :)

Georgiy
27-10-2004, 22:26
Что значит зачем? Этот файл по сути - база данных. После вышеописанных манипуляций я получаю многомерный массив: каждая строка - это строка файла, но разбитая еще на переменные.
Massiv[1][0] - имя из первой строки файла
Massiv[2][1] - фамилия из второй строки
<...>
А теперь - см. первый пост, надеюсь, теперь все ясно???

vadimiron
27-10-2004, 23:26
Можно наверно так написать

for($i=0;$i<count($DB);$i++)
$Massiv[$i]=explode("|",$DB[$i],10);

Georgiy
27-10-2004, 23:43
Ок, всем спасибо. Все оказалось проще, чем можно себе представить :)

archy
28-10-2004, 11:02
Georgiy
Интересно как же? Хотя я так и не понял чего ты хотел? :) И в каком месте у тебя там многомерный массив?

Georgiy
28-10-2004, 23:10
archy
Как - спасибо vadimiron. Многомерный массив - это и есть $Massiv...




© OSzone.net 2001-2012