За последние 24 часа нас посетили 16826 программистов и 1644 робота. Сейчас ищут 968 программистов ...

Сортировка данных файла по убыванию

Тема в разделе "PHP для новичков", создана пользователем Alex_ST, 12 янв 2012.

  1. Alex_ST

    Alex_ST Активный пользователь

    С нами с:
    5 дек 2011
    Сообщения:
    23
    Симпатии:
    0
    Есть файл в нем такие строки:
    text|1|info|date
    text|5|info|date
    text|3|info|date
    text|6|info|date
    text|4|info|date
    text|2|info|date
    как отсортировать строки по второму значению?
    немогу сообразить.
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Получить содержимое в массив, разбив по символу "|" каждую строку и использовав в качестве ключей нужное значение, по которому сортировать. Ну и воспользоваться PHP-функцией для сортировка массива по ключам.
     
  3. Django

    Django Активный пользователь

    С нами с:
    13 янв 2012
    Сообщения:
    3
    Симпатии:
    0
    Код (Text):
    1.  
    2. $array = file('check.txt');
    3. $result = array();
    4. foreach ($array as $value) {
    5.     preg_match('/^.*\|([\d]{1,})\|.*$/', $value, $matches);
    6.     if(isset($matches[1])) {
    7.         $result[$matches[1]][] = $matches[0];
    8.     }
    9. }
    10. krsort($result);
    11. array_walk_recursive($result, function($value){print_r($value."\n");});