php Сортировка массива по указанному полю (по алфавиту) -- пример функции

Пример кода из общедоступной библиотеки rusphp (фрагмент кода -- библиотеку ищите на гихабе):

/**
 * Отсортирует массив (многомерный - массив массивов) по указанному полю
 * 
 * @param type $arr
 * @param type $keyName
 */
public static function sortByField(&$arr, $keyName) {
	
	self::$sortByFieldName = $keyName;
	usort($arr, "self::compareTwoFileds"); /** @see self::compareTwoFileds() */
}

/**
 *
 * @var string имя ключа поля, по которому производить сравнение подмасиивово (строк) массива
 */
private static  $sortByFieldName = ''; 

/**
 * Сравнит две строки массива -- на основе сравнения их элементов по ключу  self::$sortByFieldName 
 * 
 * @param array $a  первая строка массива 
 * @param array $b  вторая строка массива
 * @return int
 * @throws Exception
 */
private static function compareTwoFileds($a, $b)
{
	$result = 0;
	
	if (isset($a[self::$sortByFieldName])
			&& isset($b[self::$sortByFieldName])) {
		$result = Str::compareAsInAlphbet($a[self::$sortByFieldName], $b[self::$sortByFieldName]);  
	} else {
		throw new \Exception(' {ERROR} Theres NO filed with key  ' . self::$sortByFieldName . ' !');
	}
	
	 return $result;
}