>(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Locale::composeLocale -- locale_compose — Retourne un identifiant de locale correct
Description
Style orienté objet
public static
Locale::composeLocale(array
$subtags): string|false
locale_compose(array
$subtags): string|false
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
- locale_parse() - Retourne les sous-éléments de la locale