Locale::lookup

locale_lookup

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

Locale::lookup -- locale_lookupSearches the language tag list for the best match to the language

说明

面向对象风格

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

过程化风格

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

Searches the items in languageTag for the best match to the language range specified in locale according to RFC 4647's lookup algorithm.

参数

languageTag

An array containing a list of language tags to compare to locale. Maximum 100 items allowed.

locale

The locale to use as the language range when matching.

canonicalize

If true, the arguments will be converted to canonical form before matching.

defaultLocale

The locale to use if no match is found.

返回值

The closest matching language tag or default value.

locale 的长度超过 INTL_MAX_LOCALE_LEN 时返回 null

更新日志

版本 说明
7.4.0 defaultLocale is nullable now.

示例

示例 #1 locale_lookup() example

<?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 OO example

<?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

参见