# Locale::lookup

# locale_lookup

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

Locale::lookup -- locale_lookup — Recherche dans la liste la meilleure langue

### Description

Style orienté objet

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

Style procédural

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

Recherche dans la liste `languageTag` la meilleure langue, pour la locale spécifiée par `locale`, en fonction de l'algorithme de la RFC 4647.

### Liste de paramètres

`languageTag`

  Un tableau contenant une liste de langues à comparer à la locale `locale`. Un maximum de 100 éléments est autorisé.

`locale`

  La locale à utiliser pour effectuer la recherche.

`canonicalize`

  Si `true` les arguments seront convertis en leur forme canonique avant leur recherche.

`defaultLocale`

  La locale à utiliser si aucune solution n'est trouvée.

### Valeurs de retour

La langue la plus proche qui ait été trouvée dans la liste, ou bien la valeur par défaut.

Retourne `null` quand la longueur de `locale` excède `INTL_MAX_LOCALE_LEN`.

### Historique

Version | Description
--- | ---
7.4.0 | `defaultLocale` est désormais nullable.

### Exemples

Exemple #1 Exemple avec locale_lookup(), procédural

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

Exemple #2 Exemple avec Locale::lookup(), POO

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

L'exemple ci-dessus va afficher :

    de_de_1996

### Voir aussi

- locale_filter_matches() - Vérifie si le tag de langue correspond à une locale