как отсортировать дату в файле php - PullRequest
0 голосов
/ 23 февраля 2012

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

  • имя: Pol, имя пользователя: Pol12, дата: 23 февраля 2012 г. 11: 23: 22, пароль: 29d1e2357d7c14db51e885053a58ec67 |
  • имя: Ани, имя пользователя: Данис, дата: 23 февраля 2012 г. 11: 26: 45, пароль: 29d1e2357d7c14db51e885053a58ec67 |
  • имя: Джон, имя пользователя: Джонни, дата: 23 февраля 2012 г. 12: 05: 12, пароль: 202cb962ac59075b964b07152d234b70 |

и т. Д. Поэтому мне нужно отсортировать записи по дате и отобразить эту информацию в date.php

  • Джон Джонни 23 февраля 2012 г. 12: 05: 12

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

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

как мне это сделать?

1 Ответ

0 голосов
/ 23 февраля 2012
  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']);
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...