[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: usort с параметром к сортфункции
arogorns
Гутен таг.

Собственно, возможен ли САБЖ?

У меня есть массив обьектов, который нужно отсортировать. но, в зависимости от определенного значения (а именно текущей локали), сортировать мне его надо по разным полям (для разных языков)

Варианта пока что вижу 2. либо под каждый язык писать свою функцию (что бредово, ибо в будущем число языков может расти), либо юзать глобальную переменную приложения и ковырять локаль оттуда (но, насколько я понял, глобальные переменные - зло)

Вот и интересуюсь у вас, уважаемые - есть ли 3й вариант а-ля usort($arr, "cmp_func", $locale)? или еще какая хитрость?
bestxp
usort($arr, function($a1, $a2) use ($config) {

if($config['locale']){}

})



либо

$sorter = new Sorter('ru locale');

usort($arr, [$sorter, 'sort']);


в методе sort уже решаем что и как и тд)
arogorns
Цитата (bestxp @ 13.04.2016 - 14:09)
usort($arr, function($a1, $a2) use ($config) {

if($config['locale']){}

})



либо

$sorter = new Sorter('ru locale');

usort($arr, [$sorter, 'sort']);


в методе sort уже решаем что и как и тд)

ДанкеШон)) Первый метод помог.

вышло вот что:

usort($european_countries, function($a, $b) use ($app) {
return strcmp($a->name[$app['locale']], $b->name[$app['locale']]);
});
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.