imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 05.03.2008, 14:29     # 1
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
Fget или/и Array, подогнать код.

Здравствуйте, форумчане.
У меня тут код чтения из файла
$file = "myfile.txt";
$fd = fopen($file "r");

while ($buffer = fgets($fd, 4096))
{ мой кода тут... }
собственно до сюда всем наверное всё понятно, теперь вопрос или что посоветуете. Хочу вместо чтения из файла сделать чтение из массива, при том с наименьшими подгонами кода. Следовательно
создаю массив, где полностью содержание x-файла. Но в массиве, понятное дело, текст построчный, следовательно по типу while хочу в этом массиве также построчно считывать информацию, есть ли такая команда для массивов, которая бы построчно считывала бы из массива информацию, а не целиком, как есть... То бишь аналог fgets для массива..

добавлено через 7 минут
Добавлено, или как опция можно было бы массив разбить на несколько подмассивов, где каждая строка была бы отдельным массивом. Но как, не знаю..
Viroman вне форума  
Старый 05.03.2008, 14:32     # 2
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Код:
$myfile = file('myfile.txt');
foreach ($myfile as $line) {
echo $line;
}
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 05.03.2008, 15:08     # 3
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
Saruman, вы меня чуть неверно поняли, не хочу я из файла читать. Я сам создаю предварительно массив, в котором содержание файла, и хочу, чтобы из этого массива можно было бы читать построчно, а не целиком.. То есть, или есть такая команда в пхп, которая бы это делала, или же я сам должен содержимое массива разбить на подмассивы, где каждый подмассив, это одна строка...
Ещё раз повторюсь, то был всего лишь пример, как то делает команда фгетс, и я хочу примерно её аналог для массива, я не хочу из файла читать, а из массива построчно..

$var = preg_split("/[ ]+/", $myvar);
Кто поможет, как обозначить перенос строки? В данном случае указаны пробелы, в подмассивы попадают все значения, пробел в качестве делителя.. А как перенос строки, всё обыскал, найти не получилось

Кажись так $var = preg_split("/[\n]+/", $myvar);

Последний раз редактировалось Viroman; 05.03.2008 в 15:17.
Viroman вне форума  
Старый 05.03.2008, 15:21     # 4
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
Цитата:
Сообщение от Viroman Посмотреть сообщение
Я сам создаю предварительно массив, в котором содержание файла, и хочу, чтобы из этого массива можно было бы читать построчно, а не целиком.. То есть, или есть такая команда в пхп, которая бы это делала, или же я сам должен содержимое массива разбить на подмассивы, где каждый подмассив, это одна строка...
ну а вторая строка в моём примере что делает?
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 05.03.2008, 15:40     # 5
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
Оно то и делает почти что надо, но функция file сама их загоняет построчно в массив, ладно уж, я сам всё сделал

$arrayfile = array('myarray' => '
мой построчный текст
вот такой,
как мне оно надо..
и так хочу по строкам обрабатывать
');
$arrayfilesplitted = preg_split("/[\n]+/", $arrayfile['myarray']);

while (list( ,$buffer ) = each($arraytreefilesplitted))
{
мой код тут, точнее он чужой..
}
Я же говорил, мне чужой код надо подгонять, а я это хотел сделать с минимальными изменениями.. и получилось..
Всем спасибо.
Viroman вне форума  
Старый 05.03.2008, 17:23     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Сообщение от Viroman Посмотреть сообщение
$var = preg_split("/[ ]+/", $myvar);
Кто поможет, как обозначить перенос строки?
$var = preg_split("/[\n\r]+/", $myvar);

добавлено через 5 минут
Цитата:
Сообщение от Viroman Посмотреть сообщение
$arrayfile = array('myarray' => '
мой построчный текст
вот такой,
как мне оно надо..
и так хочу по строкам обрабатывать
');
$arrayfilesplitted = preg_split("/[\n]+/", $arrayfile['myarray']);
А зачем тогда массив-то ассоциативный? Чего не строка простая исходно:
PHP код:
$file 'мой построчный текст
вот такой,
как мне оно надо..
и так хочу по строкам обрабатывать
'
;
$arrayfilesplitted preg_split("/[\n\r]+/"$file); 
Если уверены что переносы строк *NIX'овые, "\n" (если не уверены, то первый мой самый вариант будет универсален), то можно вообще без регулярных выражений:
PHP код:
...
$arrayfilesplitted explode("\n"$file
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 05.03.2008, 17:38     # 7
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
Цитата:
А зачем тогда массив-то ассоциативный? Чего не строка простая исходно:
Потому что параметры из массива $_POST берутся потому нужен был код по работе с массивом, а не со строкой, то я тоже и без того умею
Viroman вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:34.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.