Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Сортировка в массиве
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Без описания
Davinchi
Отправлено: 17 Сентября, 2008 - 09:36:39
Post Id


Full Member


Покинул форум
Сообщений всего: 152
Дата рег-ции: Нояб. 2006  

Карма -2




Существует файл со строками
CODE:

var1|var2|....|5
var1|var2|....|3
var1|var2|....|6
var1|var2|....|1

Как отсортировать данные, чтобы на экран выводилось?
CODE:

var1|var2|....|6
var1|var2|....|5
var1|var2|....|3
var1|var2|....|1

другими словами сортировка по последней колонке
 
 Top
Furax
Отправлено: 17 Сентября, 2008 - 09:56:39
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Первое, что на ум приходит:
CODE:
$file = fopen('file.txt', 'r');
$strings = array();

while (!feof($file))
{
$str = fgets($file, 4096);
$index = (int)substr($str, strrpos($str, '|')+1);
$strings[$index] = $str;
}

fclose($file);
krsort($strings);
reset($strings);

(Отредактировано автором: 17 Сентября, 2008 - 09:57:55)

 
 Top
Davinchi
Отправлено: 17 Сентября, 2008 - 10:41:39
Post Id


Full Member


Покинул форум
Сообщений всего: 152
Дата рег-ции: Нояб. 2006  

Карма -2




эту часть я не особо понял
CODE:
while (!feof($file))
{
$str = fgets($file, 4096);
$index = (int)substr($str, strrpos($str, '|')+1);
$strings[$index] = $str;
}
 
 Top
Furax
Отправлено: 17 Сентября, 2008 - 22:06:56
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Пока не достигнут конец файла - читаем строку, отделяем (substr) то, что после последней вертикальной черты, приводим к численному типу и используем в качестве ключа для массива $strings (а в качестве значения - всю прочитанную из файла строку).
 
 Top
Davinchi
Отправлено: 18 Сентября, 2008 - 00:02:36
Post Id


Full Member


Покинул форум
Сообщений всего: 152
Дата рег-ции: Нояб. 2006  

Карма -2




Спасибо, я примерно так и хотел сделать
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0388]     [ Gzipped ]