Locale::canonicalize
Locale::filterMatches
Locale
PHP Manual

# Locale::composeLocale

# locale_compose

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

Locale::composeLocale -- locale_compose — Returns a correctly ordered and delimited locale ID

### Description

Object oriented style

public static string Locale::composeLocale ( array `$subtags` )

Procedural style

string locale_compose ( array `$subtags` )

Returns a correctly ordered and delimited locale ID the keys identify the particular locale ID subtags, and the values are the associated subtag values.

### Parameters

`subtags`

  an array containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated subtag values.

  > Note:

  > The 'variant' and 'private' subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed with the suffix ranging from 0-14. Hence the keys for the input array can be variant0, variant1, ...,variant14. In the returned locale id, the subtag is ordered by suffix resulting in variant0 followed by variant1 followed by variant2 and so on.

  > The 'variant', 'private' and 'extlang' multiple values can be specified both as array under specific key (e.g. 'variant') and as multiple numbered keys (e.g. 'variant0', 'variant1', etc.).

### Return Values

The corresponding locale identifier.

### Examples

Example #1 locale_compose() example

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

Example #2 OO example

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

The above example will output:

    Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

### See Also

- locale_parse() - Returns a key-value array of locale ID subtag elements.

Locale::canonicalize
Locale::filterMatches
Locale
PHP Manual