# Locale::lookup

# locale_lookup

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

Locale::lookup -- locale_lookup — Searches the language tag list for the best match to the language

### Description

Object oriented style

public static Locale::lookup ( array `$langtag` , string `$locale` [, bool `$canonicalize` = `FALSE` [, string `$default` ]] ) : string

Procedural style

locale_lookup ( array `$langtag` , string `$locale` [, bool `$canonicalize` = `FALSE` [, string `$default` ]] ) : string

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

### Parameters

`langtag`

  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.

`default`

  The locale to use if no match is found.

### Return Values

The closest matching language tag or default value.

### Examples

Example #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');
?>`

Example #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');
?>`

The above example will output:

    de_de_1996

### See Also

- locale_filter_matches() - Checks if a language tag filter matches with locale