函数名称:Locale::filterMatches()
适用版本:PHP 5 >= 5.3.0, PHP 7
用法: Locale::filterMatches(string $langtag, array $langtags, bool $canonicalize = false): array|false
说明: Locale::filterMatches() 函数用于过滤语言标签数组,返回与给定语言标签匹配的语言标签数组。该函数基于BCP 47规范进行匹配,并可选择规范化结果。
参数:
- $langtag:要匹配的语言标签。
- $langtags:要过滤的语言标签数组。
- $canonicalize(可选):是否规范化结果,默认为 false。
返回值: 函数返回一个包含与给定语言标签匹配的语言标签的数组,如果没有匹配项,则返回 false。
示例:
$langtag = 'en-US';
$langtags = ['en-US', 'en-GB', 'fr-FR', 'de-DE'];
$filteredLangtags = Locale::filterMatches($langtag, $langtags);
print_r($filteredLangtags);
输出:
Array
(
[0] => en-US
[1] => en-GB
)
在上面的示例中,我们使用 Locale::filterMatches()
函数将 $langtag
(en-US)与 $langtags
数组进行匹配。函数返回一个包含与给定语言标签匹配的语言标签的数组。在这种情况下,只有 en-US
和 en-GB
与给定语言标签匹配,因此它们被返回。