I am building up an array with a set of database fields with information about table, actual field name and descriptive field name as a multi-dimensional array. Here is what it currently looks like:

```
$Fields['User']['ID'] = "User ID";
$Fields['User']['FirstName'] = "First Name";
$Fields['Stats']['FavouriteOrder'] = "Favourite Item Ordered";
$Fields['Geographic']['Location'] = "Current Location";
$Fields['Geographic']['LocationCode'] = "Current Location Code";

```

Okay, this is fine, but I am piping this into a system that allows exporting of selected fields, and in the end I want to foreach() through the different levels, extract the data and then ultimately have all the descriptive fields to be displayed sorted alphabetically using their descriptive name. So ultimately in the order: *Current Location, Current Location Code, Favorite Item Ordered, First Name then User ID* - obviously keeping index associations.

I can't use usort() and I can't use array\_multisort()... or maybe I can and I just don't know how. usort() seems to need a key to sort by, but I have variable keys. array\_multisort() just seems to do the same as sort() really.