У меня проблема с usort не нравится второй параметр (функция сортировки).  Я видел много вопросов о том, что это проблема, когда в классе, и ответ для этого – передать массив array($this, functionName) Но в моем случае это не работает.  Сценарий не является классом, но я получаю эту ошибку: 
 PHP Warning: usort() expects parameter 2 to be a valid callback, function 'cmp' not found or invalid function name in <filename.php> 
Итак, в чем проблема со вторым параметром, именем функции, не найденным? Это пример кода прямо с сайта PHP.
Если код отсутствует в классе, но вы используете пространство имен, usort ожидает, что второй параметр будет иметь это пространство имен. Но не в массиве в подобном стиле использования usort в классе.
Это сработало для меня, где «cmp» – функция сортировки:
 usort($arrayToSort, 'My\Full\Namespace\cmp');