Organizing order of the month in a php array

0

I used the function below to organize the month orders in ascending order, it works perfectly, but it loses the keys, when it creates the new array organized, the keys start from 0 ( zero ) again

Array cluttered:

  

Array ( [39] => agosto [40] => agosto [41] => agosto [42] => agosto [43] => agosto [44] => agosto [45] => agosto [46] => agosto [48] => agosto [71] => novembro [69] => novembro [70] => novembro [64] => outubro [65] => outubro [66] => outubro [68] => outubro [49] => setembro [51] => setembro [52] => setembro [53] => setembro [54] => setembro [55] => setembro [56] => setembro [57] => setembro [59] => setembro [60] => setembro [62] => setembro )

Array sorted, after passing through the function below, but losing the keys:

  

Array ( [0] => agosto [1] => agosto [2] => agosto [3] => agosto [4] => agosto [5] => agosto [6] => agosto [7] => agosto [8] => agosto [9] => setembro [10] => setembro [11] => setembro [12] => setembro [13] => setembro [14] => setembro [15] => setembro [16] => setembro [17] => setembro [18] => setembro [19] => setembro [20] => outubro [21] => outubro [22] => outubro [23] => outubro [24] => novembro [25] => novembro [26] => novembro )

and below the function used:

$sort = array('Janeiro', 'janeiro','Fevereiro', 
              'fevereiro','Março', 'março','Abril', 
              'abril','Maio', 'maio','Junho', 'junho',
              'Julho', 'julho','Agosto', 'Agosto',
              'Setembro', 'setembro','Outubro', 'outubro',
              'Novembro', 'novembro','Dezembro', 'dezembro');

usort($teste,
       function($value1, $value2) use ($sort) {
           return array_search($value1,$sort) > array_search($value2,$sort);
       }
);

My question is, how do I sort this in ascending order of months without losing the keys?

    
asked by anonymous 13.09.2018 / 14:00

1 answer

0

I managed to solve just by changing 'usort', by 'uasort', sort based on my base array ($ sort), but keeping the keys.

$sort = array('Janeiro', 'janeiro','Fevereiro', 
              'fevereiro','Março', 'março','Abril', 
              'abril','Maio', 'maio','Junho', 'junho',
              'Julho', 'julho','Agosto', 'Agosto',
              'Setembro', 'setembro','Outubro', 'outubro',
              'Novembro', 'novembro','Dezembro', 'dezembro');

uasort($teste,
       function($value1, $value2) use ($sort) {
           return array_search($value1,$sort) > array_search($value2,$sort);
       }
);
    
13.09.2018 / 15:15