phpday 2025 - Call For Papers

Locale::composeLocale

locale_compose

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

Locale::composeLocale -- locale_composeRetourne un identifiant de locale correct

Description

Style orienté objet

public static Locale::composeLocale(array $subtags): string|false

Style procédural

locale_compose(array $subtags): string|false

Retourne un identifiant de locale correct, ordonné et délimité, avec les clés pour identifier les particularités régionales, et les valeurs associées à ces sous-locales.

Liste de paramètres

subtags

Un tableau contenant la liste des paires clé-valeurs, où les clés représentent les identifiants de sous-locales, et leur valeur associées sont la valeur des sous-tags.

Note:

Les sous-tags 'variant' et 'private' peuvent prendre jusqu'à 15 valeurs alors que 'extlang' ne peut prendre qu'un maximum de 3 valeurs. Par exemple les variantes sont autorisées avec un suffixe allant de 0 à 14. Par conséquent, les clés du tableau sont variant0, variant1, …, variant14. Dans l'identifiant de locale retourné, les sous-tags sont ordonnés par suffixe, avec variant0 suivi de variant1 suivi de variant2 et ainsi de suite.

Alternativement, les valeurs de 'variant', 'private' et 'extlang' peuvent être spécifié en tant qu'un tableau sous une clé spécifique (e.g. 'variant'). Dans ce cas aucune limite sur le nombre de sous-tags reconnus n'est appliqué.

Valeurs de retour

The corresponding locale identifier, ou false quand subtags est vide.

Exemples

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

<?php
$arr
= array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo
locale_compose($arr);
?>

Exemple #2 Exemple avec locale_compose(), POO

<?php
$arr
= array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo
Locale::composeLocale($arr);
?>

L'exemple ci-dessus va afficher :

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

Exemple #3 Limites des Sous-tags

Si subtags sont fournit en tant que clés différente avec un suffixe numérique, les clés non supportés sont ignoré silencieusement (dans ce cas 'extlang3'), et ordonné dans le résultat par le suffixe numérique. Il n'y a pas de limites, si les sous-tags sont fournit en tant que tableau; leur ordre est comme donné.

<?php
$arr
= array(
'language' => 'en',
'script' => 'Hans',
'region' => 'CN',
'extlang3' => 'd',
'extlang2' => 'c',
'extlang1' => 'b',
'extlang0' => 'a',
);
echo
locale_compose($arr), PHP_EOL;
$arr = array(
'language' => 'en',
'script' => 'Hans',
'region' => 'CN',
'extlang' => ['a', 'b', 'c', 'd'],
);
echo
locale_compose($arr), PHP_EOL;
?>

L'exemple ci-dessus va afficher :

en_a_b_c_Hans_CN
en_a_b_c_d_Hans_CN

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top