![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Chort409 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
Приветствую All.
За дурость только сильно не пинайте. Есть такой простенький кусочек кода:
После завершения цикла переменная $ID обнуляеться, а мне надо получить последнее её значение... Как это сделать? подскажите пожалуйста ... |
|||
|
||||
DioNiR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
не правельный подход к получению последнего значения файла
--------------------
Думали это конец? Ха, всё только начинается. |
|||
|
||||
Chort409 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
||||
|
||||
DioNiR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Можно так:
Это сообщение отредактировал(а) DioNiR - 22.8.2008, 22:23 --------------------
Думали это конец? Ха, всё только начинается. |
|||
|
||||
Chort409 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
Согласен, большое спасибо. Только надо не сортировать а просто взять обратный порядок, а то сортировка получаеться черте какая ...
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
DioNiR, это твой способ неправильный.
Chort409, а ты чего соглашаешься? Тебе глупости пишут, а ты "спасибо". Своей головой иногда думать тоже надо. в принципе, на небольших файлах оба способа нормальные, но на больших будет работать только твой. зачем менять хороший код на плохой? у тебя, небось, пустая строка в файле - вот её твой код последней и читает. поставь другое условие, к примеру, пока длина прочитанной строки больше 2 симолов. |
|||
|
||||
DioNiR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Ой не ту функцию поставил.
Надо так:
Добавлено через 4 минуты и 52 секунды Feldmarschall, в данном вопросе речи не было о большом файле, поэтому не надо меня обвинять в том что я не прав. Еслиб изначально было бы сказано что файл большой, то тогда бы я согласился с тобой. --------------------
Думали это конец? Ха, всё только начинается. |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
какая разница - какой файл?
зачем писать заведомо менее оптимальный код? зачем читать весь файл в память, если нужна только одна строчка? зачем создавать массив, когда никаких массивов не нужно, а потом еще и сортировать его? Зачем про правильный подход писать, что он неправильный? А? |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Для очень больших файлов все эти алгоритмы можно класть фтопку.
Есть fseek, которым можно перекинуть указатель на n симовлом, в том числе и назад и прочитать что надо в конце. Говоря о символах я говорю о байтах. Если мне не изменяет память, то с текстовыми файлами в ПХП это работает нормально с недавних времен. |
|||
|
||||
HackMan |
|
|||
![]() Юзверь-программист ![]() ![]() Профиль Группа: Участник Сообщений: 391 Регистрация: 18.6.2005 Где: .ua Репутация: 8 Всего: 9 |
Если нужен последний элемент, то проще так:
Это сообщение отредактировал(а) HackMan - 22.8.2008, 23:17 -------------------- Завтра - это самый загруженный день недели ![]() ![]() ![]() |
|||
|
||||
Chort409 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
Народ спасибо, столько нового поузнавал ))) но после в случае с while всеравно почему-то не работает ...Файл проверил.
Это сообщение отредактировал(а) Chort409 - 22.8.2008, 23:48 |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 1 Всего: 31 |
Получается, что у тебя в файле последняя строка либо пустая, либо не по формату.
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Chort409, а ты не файл проверяй. А работу своего скрипта. Сейчас ты на него смотришь, как на шляпу фокусника - "ой, я в него файл положил". "Ой, из него ID вышел". "Ой, не вышел!" А что там внутри происходит - загадка.
Но ты же ведь не фокусник. Ты программист. Ты сам эту программу писал. Ты должен знать, что там внутри происходит. кто тебе мешает выводить не единственный последний ID, а еще и вспомогательную информацию? Каждую входящую строку, результат разбивки эксплодом, $ID - то есть, все участвующие в скрипте переменные. И смотреть - что с ними не так. Если ты научишься искать и исправлять ошибки в своем собственном скрипте - это будет в миллион раз ценнее, чем любой работающий скрипт. Это будет означать, что вводя эти строчечки в редактор, ты не зря переводишь время. Что у тебя что-то получится, если ты собираешься как-то связывать свою жизнь с программированием. Потому что программирование - это не когда ты написал 500 строк и ты пошел пиво пить. программирование - это когда ты два дня ищешь одну ошибку в 5 строчках. Умение написать готовый код не стоит ничего. Умение найти и исправить ошибку - это то, без чего вообще не имеет смысла заниматься программированием. Поэтому не надо слушать гадания - что у тебя там в файле не так. Надо запустить свой скрипт и проверить. Зачем какой-то файл проверять, если у тебя в скрипте есть все средства прверки? используй функцию var_dump(), выводя отладочную информацию. |
|||
|
||||
Chort409 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
Feldmarschall, спасибо за наставление младшему товарищу, пойду совершенствоваться.
|
|||
|
||||
anrs |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 17.12.2008 Репутация: нет Всего: нет |
А если надо вытянуть последнии 10 строчек , то какой код нужен ?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |