I have an array like this:
[1303] => Array
(
[Name] => Al****
[Total] => 479896.025
)
[13047] => Array
(
[Name] => An****
[Total] => 1999.871
)
[13065] => Array
(
[Name] => Ao****
[Total] => 3947.761
)
[13054] => Array
(
[Name] => Ba****
[Total] => 15666.826
)
[13020] => Array
(
[Name] => Bb****
[Total] => 22366.6456
)
[13016] => Array
(
[Name] => Be****
[Total] => 8307.389
)
The array is sorted by name. I need to assign rank to each array item based on total. In the above example, item 1303 should have the rank 1, item 13020 should have a rank of 2 and so on; the array must maintain its existing sorting. What is the simplest way to do this. Expected output:
[1303] => Array
(
[Name] => Al****
[Total] => 479896.025
[Rank] => 1
)
[13047] => Array
(
[Name] => An****
[Total] => 1999.871
[Rank] => 6
)
[13065] => Array
(
[Name] => Ao****
[Total] => 3947.761
[Rank] => 5
)
[13054] => Array
(
[Name] => Ba****
[Total] => 15666.826
[Rank] => 3
)
[13020] => Array
(
[Name] => Bb****
[Total] => 22366.6456
[Rank] => 2
)
[13016] => Array
(
[Name] => Be****
[Total] => 8307.389
[Rank] => 4
)
Sort the array using the Total value:
Add the Rank elements:
Sort the array by Name again (if required):