Поиск языковых меток наиболее подходящих заданной локали

# Locale::lookup

# locale_lookup

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookup — Поиск языковых меток наиболее подходящих заданной локали

### Описание

Объектно-ориентированный стиль

public static function Locale::lookup(
array `$languageTag`,
string `$locale`,
bool `$canonicalize` = `false`,
?string `$defaultLocale` = `null`
): ?string

Процедурный стиль

function locale_lookup(
array `$languageTag`,
string `$locale`,
bool `$canonicalize` = `false`,
?string `$defaultLocale` = `null`
): ?string

Ищет элементы `languageTag`, наилучшим образом подходящие для диапазона языков, указанного в `locale`, в соответствии с алгоритмом поиска RFC 4647.

### Список параметров

`languageTag`

  Массив (array), содержащий список меток языков для сравнения с `locale`. Не более 100 элементов.

`locale`

  Локаль.

`canonicalize`

  Если `true`, то аргументы сперва будут приведены к каноническому виду.

`defaultLocale`

  Локаль по умолчанию, если совпадений не будет найдено.

### Возвращаемые значения

Наиболее подходящая данной локали метка языка.

Метод возвращает `null`, если длина параметра `locale` превышает значение константы `INTL_MAX_LOCALE_LEN`.

### Список изменений

Версия | Описание
--- | ---
7.4.0 | `defaultLocale` теперь допускает значение null.

### Примеры

Пример #1 Пример использования locale_lookup()

    <?php
    $arr = array(
        'de-DEVA',
        'de-DE-1996',
        'de',
        'de-De'
    );
    echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
    ?>

Пример #2 Пример использования в объектно-ориентированном стиле

    <?php
    $arr = array(
        'de-DEVA',
        'de-DE-1996',
        'de',
        'de-De'
    );
    echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
    ?>

Результат выполнения приведённого примера:

    de_de_1996

### Смотрите также

- locale_filter_matches() - Проверить, соответствует ли тег фильтра языка локали

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open