Сортировка многомерного -массива по взвешенному значению

Здесь есть множество вопросов о том, как сортировать многомерный -массив в PHP. Ответ: usort(). Я знаю это. Но у меня есть вопрос, который идет немного дальше, и я не нашел здесь подобного ответа.

У меня есть массив записей, каждая из которых включает идентификатор страны (или название страны, если хотите; это не имеет значения ).

Моя задача отсортировать массив таким образом, чтобы отдать предпочтение определенным странам. Это динамический --, т. е. выбор страны для предпочтения определяется конфигурацией пользователя. У меня есть отдельный массив, в котором указан требуемый порядок сортировки для первых нескольких стран; результаты из других стран останутся неотсортированными в конце списка.

Таким образом, вопрос :в том, как я могу получить этот критерий сортировки в usort(), не прибегая к использованию глобальной переменной. И желательно без внедрения массива критериев в каждый элемент основного массива (, потому что, если я все равно буду его зацикливать, какой смысл вообще использовать usort()?)

Обратите внимание, :Поскольку это будет иметь отношение к ответам здесь,Я пока застрял на PHP 5.2, поэтому не могу использовать анонимную функцию. Мы находимся в процессе обновления, но пока мне нужны ответы, которые будут работать для 5.2. (ответы для 5.3/5.4 тоже приветствуются, особенно если они значительно упростят задачу, но я не смогу ими воспользоваться)

7
задан svick 11 September 2013 в 01:02
поделиться