Самое элегантное решение, которое я мог бы найти, - это не переупорядочивать структуру данных, а просто получить к ней доступ другим способом.
$scores = $data['score'];
arsort($scores);
$keys_ordered_by_score = array_keys($scores);
Теперь вы можете, скажем, взять display_name и "proffesion", которые имеютсамый высокий балл по следующим показателям:
$first_place = $keys_ordered_by_score[0];
echo $data['display_name'][$first_place],
' is a ', $data['proffesion'][$first_place];
Конечно, если вам действительно нужно изменить порядок структуры данных, эта идея для вас бесполезна.Любой из других ответов, использующих array_multisort (), вероятно, подойдет для этого.