Cортировка данных из нескольких файлов, и вывод max числа.

Yuriy_S

-=PHP-Club=-
Cортировка данных из нескольких файлов, и вывод max числа.

Привет всем!
Задача непростая.
Есть файл. в него записано 100 строк (например), в каждой строке хранится имя файла! Циклом я перебираю все эти файлы. В этих файлах (100 шт.) в строках записан id - номер, в виде даты и времени. (date("dmyhis")). Необходимо просмотреть все эти файлы циклом, и вывести максимальное значение ID номера. Помогите пож-ста с данным данный сабжом.
Я пробовал usort(), но не работало. Все равно выводилось не то что нужно :(
 

leosha

Старожил PHPCLub
Из одного файла ты можешь выбрать макс. значение?
 

Yuriy_S

-=PHP-Club=-
да, могу.
У меня записывается все последовательно. То есть чем ближе к концу файла, тем больше значение. Можно конечно просто последние элементы массива файлов сравнивать...
Щас ещё попробую, у меня тут мысль появилась, если что, то напишу сюда.
 

Unregistered-2

Guest
... и повторить это действие над всей своей кучей ?
 

Yuriy_S

-=PHP-Club=-
эх..
не получается.
может потому что у меня в скрипте цикл в цикле (по-другому никак :()
Пытаюсь сортировать:
function sort_id ($a, $b) {
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
тут дальше в цикле ,(может из цикла не передаются значения в функцию...)
$a=$poid; // $poid - ид, в виде числа xxxxxxxx
usort ($a, "sort_id");
echo $a;
 

RomikChef

Guest
этот дуралей будет выбирать максимальное значениеиз строки
формата dmy
то есть, 30121999 у него будет больше, чем 01012003
 

Yuriy_S

-=PHP-Club=-
год у меня в виде ХХ.
так все же, что нужно сделать, что бы заставить работать данное выражение?
 

Yuriy_S

-=PHP-Club=-
че то не получается у меня, как не пробовал, он вообще не сортирует даже...:( . Лепит все подряд.
У меня сама функция сортировки в начале файла стоит, а потом идет цикл, а в нем ещё цикл, в котором я уже сортирую данные.
 

leosha

Старожил PHPCLub
Почитай ка про Date & Time function. Я так понял, на мой первый вопрос ты пока не в состоянии ответить? Давай решай - как получить максимальную дату из ОДНОГО файла. По ходу решения, скорее всего дойдет как это сделать со всеми. Если не дойдет - пиши сюда опять. Плюнь ты на свои циклы. Чего ты прицепился "цикл в цикле, и т.д." Реши ОДНУ задачу простую - КАК получить максимальное значение из одного файла.
 

Yuriy_S

-=PHP-Club=-
Хорошо, но в моем скрипте без цикла все же никак :(
А получить максимальное число ИЗ ОДНОГО (подчеркаваю) файла, можно просто после цикла написать echo $poid; //где $poid - это число.
Почему я так записал? А все просто. В файл записываются последовательно все строки. А как бы самое большее число - последнее.
А вообще, если без цикла, то можно отсортировать данные, но это почему то не работает, как я описал выше в скрипте...
Но когда несколько файлов, то это уже более сложная задача.
Как бы у меня цикл, который перебирает один файл, извлекает из него путь (точнее имя) другого файла, и уже другим циклом в этом же цикле я перебираю второй файл, а таких вторых файлов - много, и задача - посмотреть циклом все эти файлы, и вывести самое большое число (дату) из всех этих файлов
 

leosha

Старожил PHPCLub
Вот же ж блин. Делаем переменную $max_value=0; Извлек из одного файла - сравнил с $max_value. Если больше - переписал значение переменной. Извлек из сторого - сравнил, переписал. Повторить до готовности. В итоге в этой переменной окажется максимальное значение после того как все файлы обработаешь.
Также, можешь все максимальные значения писать в отд. массив, а потом его сортировать.
 

RomikChef

Guest
Леша ты зря тратишь на него время. Это очень неэффективно.
Очен нищок КПД.
Во-первых, до него очень трудно доходит.
Во-вторых, то, что ему говорят, он понимает настолько извращенно, что потом с трудом узнаешь в его коде те советы, которые ему давали.

Я хочу сказать, что есть много дел и людей, на которые можно потратить свое время с гораздо болшей эффективностью.
во всяком случае, обычно на этом форуме удается человеку объяснять не с такими титаническими трудозатратами.

У него отстутствует в голове какая-то деталь. то ли ассоциативное мышление, то ли еще что-то.

Он хранит в строке две даты. Одна - как дата, а другая - как уникальный ид.

Мне так и не удалось ему объяснить, что при постраничном выводе достаточно передавать только номер првого сообщения на странице, а последнее можно вычислить. Но он передает их оба.

Вобцем, я все жду, когда он забьет на дело, которое ему дается с гораздо большим трудом, чем большинству людей.
 

leosha

Старожил PHPCLub
Как все запущено...
Yuriy_S - "программирование" на PHP - это твоя основная работа?
 

Yuriy_S

-=PHP-Club=-
..........
я начинающий ламмер, который только 1 месяц, да и то меньше наверно изучаю PHP. ТО что вы говорите, многие функции я вижу впервый раз. Да и вообще, чем больше я тут читаю всякого разного (полезного), тем больше узнаю всего, учусь постепенно. Скоро и я тоже смогу так же тут помогать людям, отвечая правильно на их вопросы.
Все впереди, но главное, что у меня есть стремление и желание к этому!
А программирование PHP - это не работа пока что, основная работа - дизайн.
 
Сверху