2014-11-17 3 views
0

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

$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 функцию внутри цикла Еогеасп для опций. Алфавитный порядок названий стран будет нарушен. Прежде всего, мне нужно переводить названия стран позже, я должен создать для каждого цикла.

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

+0

'Могу ли я использовать функцию array_map для gettext?' - попробуйте. – sectus

ответ

0

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

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

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

1

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

Foreach (страны $ как $ ключ => $ страна) {countryNames $ [$ ключ] = _ ($ страна [ 'страна']); } array_multisort ($ countryNames, SORT_STRING, $ countries);

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

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

Смежные вопросы