Сортировка Gettext и Array с использованием функции Array Map

У меня есть сценарий регистрации и многоязычный. Я должен использовать функцию gettext для перевода.

$countries = $locationObj->getCountries();

Этот код получает список стран из базы данных. В базе данных названия стран являются турецкими. Для поддержки других языков я должен использовать gettext.

$ стран это массив, как показано ниже

Array
(
[0] => Array
(
[id] => 4
[code] => UM
[country] => ABD Küçük Harici Adaları
[currency] => USD
[area_code] => +1
)

[1] => Array
(
[id] => 5
[code] => VI
[country] => ABD Virjin Adaları
[currency] => USD
[area_code] => +1 340
)

[2] => Array
(
[id] => 1
[code] => AF
[country] => Afganistan
[currency] => AFN
[area_code] => +93
)

Если я использую функцию gettext внутри цикла foreach для параметров. Алфавитный порядок названий стран будет нарушен. Прежде всего, мне нужно перевести названия стран, которые нужно создать для каждого цикла.

Могу ли я использовать функцию array_map для gettext? Это простой способ. Или я должен создать цикл foreach и создать новый массив данных и сортировать это?

0

Решение

Я нашел решение в конце. Я использую array_multisort И я создаю еще один цикл foreach перед анализом параметров. И в этом цикле я использовал gettext.

foreach ($ страны как $ ключ => $ страна) {
$ countryNames [$ key] = _ ($ country [‘country’]); }
array_multisort ($ countryNames, SORT_STRING, $ страны);

Теперь мой массив $ стран отсортирован для перевода.

При разборе параметров я снова использую функцию gettext для перевода.

1

Другие решения

Есть много функций сортировки для массивов (даже работает на многомерном уровне).

В качестве примера вы можете использовать ksort (это ассоциация индекса manteins).

Полный список команд сортировки для массива: -> http://php.net/manual/en/array.sorting.php

0

По вопросам рекламы [email protected]