У меня проблема с 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');