I have this array: $attachments = array();
Which is populated like this:
if (have_rows('attachments_items')):
while ( have_rows('attachments_items') ) : the_row();
$attachment_id = get_sub_field('fileattachment',false);
$year = get_sub_field('year',false);
if(is_null($year) || $year == 0){
$year=2018;
}
$attachments[$i]['year'] = (int)$year;
$attachments[$i]['id'] = $attachment_id;
$i++;
endwhile;
endif;
I want to sort it by year so I tried that:
usort($attachments,function($first,$second){
return $first->year < $second->year;
});
But its not working:
Before
unsorted:Array (
[0] => Array ( [year] => 2018 [id] => 14689 )
1 => Array ( [year] => 2017 [id] => 14690 )
2 => Array ( [year] => 2018 [id] => 14688 )
[3] => Array ( [year] => 2018 [id] => 14687 ) .....)
After
sorted:Array (
[0] => Array ( [year] => 2018 [id] => 14689 )
1 => Array ( [year] => 2018 [id] => 16323 )
2 => Array ( [year] => 2018 [id] => 21545 )[3] => Array ( [year] => 2017 [id] => 14690 )
[4] => Array ( [year] => 2018 [id] => 12711 ) .....)