I have two arrays in php, $array1
and $array2
, I am ranking $array2
based on $array1
$array1 =array(2,10,4,5,2,1);
$array2 =array(A,B,C,D,E,F);
$ordered_values = $array1;
array_multisort($array1, $array2);
foreach ($array1 as $key => $value) {
foreach ($ordered_values as $ordered_key => $ordered_value) {
if ($value === $ordered_value) {
$key = $ordered_key;
break;
}
}
echo $value . '- Rank: ' . ((int) $key + 1) . '<br/>';
}
The above gives this results
1- Rank: 6
2- Rank: 1
2- Rank: 1
4- Rank: 3
5- Rank: 4
10-Rank: 2
However this is what I am expecting
B- Rank: 1
D- Rank: 2
C- Rank: 3
E- Rank: 4
A- Rank: 4
F- Rank: 6
Any help is appreciated.