值得注意的是,如果 $langtag 数组为空,此函数将返回空字符串而不是 $default。如果您的 $langtag 数组为空,请使用 array(false) 以获取默认语言区域。
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Locale::lookup -- locale_lookup — 在语言标签列表中搜索与语言的最佳匹配
面向对象风格
$languageTag
,$locale
,$canonicalize
= false
,$defaultLocale
= null
过程化风格
$languageTag
,$locale
,$canonicalize
= false
,$defaultLocale
= null
根据 RFC 4647 的查找算法,在 languageTag
中的项目中搜索与 locale
中指定的语言范围的最佳匹配。
languageTag
一个 array,其中包含要与 locale
进行比较的语言标签列表。允许最多 100 个项目。
locale
用作匹配时的语言范围的语言区域。
canonicalize
如果为 true,则在匹配之前将参数转换为规范形式。
defaultLocale
如果未找到匹配项,则要使用的语言区域。
版本 | 描述 |
---|---|
7.4.0 |
defaultLocale 现在可以为空。 |
示例 #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
值得注意的是,如果 $langtag 数组为空,此函数将返回空字符串而不是 $default。如果您的 $langtag 数组为空,请使用 array(false) 以获取默认语言区域。