Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 24/10/14 в 18:49 |
есть дамп
id1|text1|0.15
id2|text2|0.1
id3|text3|0.5
id4|text4|0.1
id5|text5|0.2
id6|text6|0
нужно отсортировать этот дамп по последним значениям в строке, по убыванию или возрастанию не имеет значения.
Х.з. как решить, вроде ничего сложного, но в тоже время проблема.
Подскажите, кому не сложно на PHP
Спасибо!
Последний раз редактировалось: Lexikon (24/10/14 в 18:54), всего редактировалось 1 раз
|
|
|
|
С нами с 11.11.11
Сообщения: 80
Рейтинг: 119
|
Добавлено: 24/10/14 в 18:54 |
1. меняешь в блокноте | на ;
2. переименовываешь расширение файла в csv
3. сортируешь в Excel
4. меняешь в блокноте ; на |
Можно, конечно замену не делать, но так, ИМХО, проще тебе объяснить.
Если что непонятно - стучи в личку.
|
|
VERBA VOLANT, SCRIPTA MANENT
|
0
|
|
|
С нами с 30.04.04
Сообщения: 602
Рейтинг: 293
|
Добавлено: 24/10/14 в 18:59 |
В командной строке на любом серваке можешь сделать
Код: [развернуть] | sort --field-separator='|' --key=3 /path/to/sourceFile > /path/to/destinationFile |
/path/to/sourceFile замени на путь к файлу с начальными значениями
/path/to/destinationFile заменит на путь, куда сохранить результат
А с помощью пыхи то же самое:
Код: [развернуть] | <?
exec("sort --field-separator='|' --key=3 /path/to/sourceFile > /path/to/destinationFile");
|
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 24/10/14 в 19:17 |
нашел выход через arsort()
|
|
|
|
С нами с 06.01.14
Сообщения: 109
Рейтинг: 89
|
Добавлено: 24/10/14 в 19:46 |
Код: [развернуть] | $filename = 'file.txt'; //path to file
$src_arr = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($src_arr as $value) {
$value = trim($value);
$parts_arr = explode('|', $value);
$num = count($parts_arr)-1;
$res_arr[$parts_arr[$num]] = $value;
}
ksort($res_arr);
$fp = fopen($filename, 'w');
foreach ($res_arr as $value) fwrite($fp, "{$value}\n");
fclose($fp);
|
И chmod 777 на file.txt не забыть поставить
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |