I want to sort or reorder the array element based on start on value.
My array:
[
0 => 'Sun',
1 => 'Mon',
2 => 'Tue',
3 => 'Wed',
4 => 'Thu',
5 => 'Fri',
6 => 'Sat'
]
$startOn = 3;
Expected Output :
[
3 => 'Wed',
4 => 'Thu',
5 => 'Fri',
6 => 'Sat',
0 => 'Sun',
1 => 'Mon',
2 => 'Tue',
]
I tried using uksort but it does not return the expected output.
uksort($weekDays, function ($a, $b) use ($startOn) {
return $startOn-$a;
});
Current output :
[
3 => 'Wed'
4 => 'Thu'
5 => 'Fri'
6 => 'Sat'
2 => 'Tue'
1 => 'Mon'
0 => 'Sun'
]
($k + 7 - $startOn) % 7as the key inuksort, check my answer