----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
ucob
Отправлено: 22 Января, 2011 - 19:42:49
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2011
Помог: 0 раз(а)
HotBird Что то он выводит только последнюю строчку, а больше нет.
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
Приведите здесь пожалуйста фрагмент кода для реализации этой задачи, так легче найти ошибку, пока что скрипты телепатичкски не читаю.
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
ucob
Отправлено: 22 Января, 2011 - 21:55:41
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2011
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
Ну да, при вашей реализации так и будет. Вы в цикле перебираете строки и каждый раз переменной $last присваиваете значение следующей строки, а потом выводите переменную $last, значение которой строка, которая последня присутствовала в цикле.
Вам же duk написал: echo $arr[$j].'<br>';
а если вам надо запомнить последнеё значение из цикла то сделайте так: echo $last = $arr[$j].'<br>';
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
ucob
Отправлено: 22 Января, 2011 - 22:48:41
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2011
Помог: 0 раз(а)
HotBird Я в php новичек, у меня чет не получается. Просто выводит: = file('music/links.txt'); = count (); for (=-1; >=-11; --) echo .'
';
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
ucob пишет:
Просто выводит: = file('music/links.txt'); = count (); for (=-1; >=-11; --) echo .'
';
Что-то я такого не встречал, похоже причина далеко не в самом цикле, навеное придется или выложить весь код скрипта или лучше прикрепить сюда полный файл.
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
ucob
Отправлено: 22 Января, 2011 - 23:19:59
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2011
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
duk пишет:
$arr=file('users.dat');
В общем случае при использовании заданного текстового файла в качестве локальной базы данных которая может обеспечить хранения значительного количества информационных полей указанный вариант является недопустимым - вместо него необходимо оуществить открутие дескриптора файла и его перевод в конец записанных данных на основе функции fseek - после чего необходимо обеспечить последовательное считывание блоков байт файла с анализом разделителей записей
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
ucob
Отправлено: 23 Января, 2011 - 18:30:42
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2011
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
Посмотрел толькочто файл. Сделайте цикл так: $arr = file('music/links.txt');
$count = count ($arr);
$last='';
for ($j=$count-1; $j>=$count-11; $j--)
$last .= $arr[$j].'<br>';
тогда можете для вывода использовать переменную $last.
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
ucob
Отправлено: 23 Января, 2011 - 19:44:57
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Янв. 2011
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
Вот фрагмент кода из вашего файла, с вырезаным ненужным в даном случае кодом. <?php
//$arr = file('music/links.txt');
$arr=range(0,99);//допустим файл имеет 100 строк, и создаётся масив с ключами от 0 до 99
$count = count ($arr);
$last='';
for ($j=$count-1; $j>=$count-11; $j--)
$last .= $arr[$j].'<br>';
?>
Цикл прекрасно работает и выводит как надо:
99
98
97
96
95
94
93
92
91
90
89
Скопируйте этот код в отдельный файл php и выполните. Просто не понимаю как может у вас ничего не выводить.
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.