Сортировать массив с названием месяца и года в php - PullRequest
0 голосов
/ 07 июня 2018

У меня есть массив вроде

$ar =['March 2018',
      'March 2018',
      'November 2017',
      'December 2017',
      'January 2018',
      'January 2018',
      'February 2018'
     ];

Я хочу отсортировать этот массив по месяцам и годам.Но я не могу отсортировать этот массив.

Expected Output: [
     'November 2017',
      'December 2017',
       'January 2018',
      'January 2018',
      'February 2018',
      'March 2018',
      'March 2018'
];

Пробовал с такими функциями, как usort(), uksort() .... но он не работает Пожалуйста, помогите мне решить эту проблему

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете использовать usort и strtotime для преобразования строки во время.

<code>$ar = ['March 2018',
  'March 2018',
  'November 2017',
  'December 2017',
  'January 2018',
  'January 2018',
  'February 2018'
];

usort( $ar , function($a, $b){
    $a = strtotime($a);
    $b = strtotime($b);
    return $a - $b;
});

echo "<pre>";
print_r( $ar );
echo "
";

Это приведет к:

Array
(
    [0] => November 2017
    [1] => December 2017
    [2] => January 2018
    [3] => January 2018
    [4] => February 2018
    [5] => March 2018
    [6] => March 2018
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...