Internationalization Locale::composeLocale

Locale::composeLocale

locale_compose

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

Locale::composeLocale -- locale_compose — 올바르게 정렬되고 구분된 로케일 ID를 반환합니다.


설명

객체 지향 스타일

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

절차적 스타일

locale_compose(array $subtags): string|false

올바르게 정렬되고 구분된 로케일 ID를 반환합니다. 키는 특정 로케일 ID 하위 태그를 식별하고 값은 연관된 하위 태그 값입니다.


매개변수

subtags
키-값 쌍의 목록을 포함하는 배열로, 키는 특정 로케일 ID 하위 태그를 식별하고 값은 연관된 하위 태그 값입니다.

메모:

'variant''private' 하위 태그는 최대 15개의 값을 가질 수 있는 반면 'extlang'은 최대 3개의 값을 가질 수 있습니다. 예를 들어 0-14 범위의 접미사를 사용하여 변형이 허용됩니다. 따라서 입력 배열의 키는 variant0, variant1, …,variant14일 수 있습니다. 반환된 로케일 ID에서 하위 태그는 접미사로 정렬되어 variant0, variant1, variant2 등의 결과를 낳습니다.

또는 'variant', 'private''extlang' 값을 특정 키(예: 'variant') 아래의 배열로 지정할 수 있습니다. 이 경우 인식되는 하위 태그 수에 대한 제한이 적용되지 않습니다.


반환 값

해당 로케일 식별자 또는 subtags가 비어 있는 경우 false입니다.


Examples

예제 #1 locale_compose() 예제

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

예제 #2 OO 예제

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

위의 예는 다음을 출력합니다.

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2
                

예제 #3 하위 태그 제한

subtags가 숫자 접미사가 있는 별도의 키로 제공되는 경우 지원되지 않는 키는 자동으로 무시되고(이 경우 'extlang3') 결과에서 숫자 접미사를 기준으로 정렬됩니다. 하위 태그가 배열로 제공되는 경우 제한이 없습니다. 순서는 주어진 대로입니다.

                  
<?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;
?>
                  
                

위의 예는 다음을 출력합니다.

en_a_b_c_Hans_CN
en_a_b_c_d_Hans_CN
                

기타

  • locale_parse() - 로케일 ID 하위 태그 요소의 키-값 배열을 반환합니다.