php8.5
Home/ Manual/ intl / locale/ Locale::lookup

Locale::lookup

PHP function Edit on GitHub ✎

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

Searches the language tag list for the best match to the language

Description

Oop

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

Procedural

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

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

Parameters

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.

Return Values

The closest matching language tag or default value.

Return

Changelog

VersionDescription
7.4.0defaultLocale is nullable now.

Examples

locale_lookup() example

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

OO example

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

The above example will output:

output
de_de_1996

See Also

Source: reference/intl/locale/lookup.xml · from the official PHP manual (php/doc-en)