arogorns
13.04.2016 - 13:59
Гутен таг.
Собственно, возможен ли САБЖ?
У меня есть массив обьектов, который нужно отсортировать. но, в зависимости от определенного значения (а именно текущей локали), сортировать мне его надо по разным полям (для разных языков)
Варианта пока что вижу 2. либо под каждый язык писать свою функцию (что бредово, ибо в будущем число языков может расти), либо юзать глобальную переменную приложения и ковырять локаль оттуда (но, насколько я понял, глобальные переменные - зло)
Вот и интересуюсь у вас, уважаемые - есть ли 3й вариант а-ля usort($arr, "cmp_func", $locale)? или еще какая хитрость?
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 уже решаем что и как и тд)
arogorns
13.04.2016 - 14:22
Цитата (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']]);
});