/*
* Сортирует двумерный ассоциативный массив, по структуре похожий на таблицу БД.
* Сортировка происходит по заданному ключу, подобно тому, как это делается в БД через ORDER BY key, type
*
* @param array $array
* @param string $key ключ, по которому сортировать
* @param int $type порядок сортировки {SORT_ASC|SORT_DESC}
* @param string $cmp_func функция для сравнения строк, одна из:
* strcmp, strcasecmp - обычное сравнение строк
* strnatcmp, strnatcasecmp - алгоритм "естественного упорядочения"
* @return array
*
* @author Nasibullin Rinat <rin at starlink ru>
* @charset ANSI
* @version 1.0.2
*/
function array_multisort_key($array, $key, $type = SORT_ASC, $cmp_func = 'strcmp')
{
$GLOBALS['ARRAY_MULTISORT_KEY_SORT_KEY'] = $key;
usort($array, create_function('$a, $b', '$k = &$GLOBALS["ARRAY_MULTISORT_KEY_SORT_KEY"];
return ' . $cmp_func . '($a[$k], $b[$k]) * ' . ($type == SORT_ASC ? 1 : -1) . ';'));
return $array;
}