2012-02-23 2 views
-1

У меня есть дата в файле date.txt в этом форматекак сортировать дату в файле PHP

  • Имя: Pol, имя пользователя: Pol12, дата: 23 февраля 2012 11: 23: 22, пароль: 29d1e2357d7c14db51e885053a58ec67 |
  • имя: Ani, имя пользователя: Danis, дата: 23 февраля 2012 11: 26: 45, пароль: 29d1e2357d7c14db51e885053a58ec67 |
  • имя: John, имя пользователя: Johny, дата: 23 февраля 2012 12: 05: 12, пароль: 202cb962ac59075b964b07152d234b70 |

и ect. Поэтому мне нужно отсортировать эту запись по дате и эхо этого рода данных в date.php

  • John Johny 23 февраля 2012 12:05:12

  • Ани Данис 23 февраля 2012 11:26:45

  • Pol Pol12 22 февраля 2012 10:23:22

как я могу это сделать?

ответ

0
  1. Чтение файл с file()
  2. Сплита каждой линии по ','
  3. Избавьтесь от имени, имени пользователя, даты и т.д. (если они вам не нужны, то вы можете сохранить в качестве ключа массива)
  4. использование usort сортировать по указанному полю.

$file = file('path/to/file'); 
$lines = array(); 
foreach($file as $line) { 
    $a = array(); 
    foreach(split(',', $line) as $field) { 
    list($key, $val) = split(':', $field, 2); 
    $a[$key] = $val; 
    } 
    $lines[] = $a; 
} 

usort($lines, function($a, $b) { 
    return strtotime($b['date']) - strtotime($a['date']); 
}); 

(проверялось, но должно дать вам идею)

Смежные вопросы