Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Из файла в массив (http://forum.oszone.net/showthread.php?t=30927)

Georgiy 27-10-2004 20:24 212106

Пусть есть файл со следующим содержанием:
*имя|фамилия|отчество|<и т.д. до 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, к примеру, будущих перемнных?


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

archy 27-10-2004 21:10 212107

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

Georgiy 27-10-2004 22:26 212108

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

vadimiron 27-10-2004 23:26 212109

Можно наверно так написать
Код:

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


Georgiy 27-10-2004 23:43 212110

Ок, всем спасибо. Все оказалось проще, чем можно себе представить :)

archy 28-10-2004 11:02 212111

Georgiy
Интересно как же? Хотя я так и не понял чего ты хотел? :) И в каком месте у тебя там многомерный массив?

Georgiy 28-10-2004 23:10 212112

archy
Как - спасибо vadimiron. Многомерный массив - это и есть $Massiv...


Время: 18:20.

Время: 18:20.
© OSzone.net 2001-