Potresti usare questa funzione
Codice PHP:
/**
* Ordina un array multidimensionale rispetto ad una colonna
*
* @param array $array array da ordinare
* @param string $on nome della colonna in base a cui ordinare
* @param string $order asc/desc per indicare il verso dell'ordinamento
*
* @return array l'array ordinato
*/
function sort_array_on_column($array, $on, $order='asc')
{
$new_array = array();
$sortable_array = array();
if (count($array) > 0)
{
foreach ($array as $k => $v)
{
if (is_array($v))
{
foreach ($v as $k2 => $v2)
{
if ($k2 == $on)
{
$sortable_array[$k] = $v2;
}
}
}
else
{
$sortable_array[$k] = $v;
}
}
switch ($order)
{
case 'asc':
asort($sortable_array);
break;
case 'desc':
arsort($sortable_array);
break;
}
foreach ($sortable_array as $k => $v)
{
$new_array[$k] = $array[$k];
}
}
return array_values($new_array);
}