(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Locale::composeLocale -- locale_compose — Doğru sıralanmış yerel ile döner
Nesne yönelimli kullanım
Yordamsal kullanım
Anahtarların yerel alt yaftalarının betimleyicileri, değerlerin ise bu alt yaftalarla ilişkili değerler olduğu bir ilişkisel dizi ile belirtilen yereli bu alt yaftaları doğru sırayla birleştirerek oluşturur.
alt_yaftalar
Anahtarların yerel alt yaftalarının betimleyicileri, değerlerin ise bu alt yaftalarla ilişkili değerler olduğu bir ilişkisel dizi.
Bilginize:
'extlang'
anahtarı en fazla 3 değer alabilirken'variant'
ve'private'
alt yaftaları en fazla 15 değer alabilir ve 0-14 indislerine sahip olabilir. Bu bakımdan, girdi dizisindeki anahtarlarvariant0
,variant1
, …,variant14
olabilir. Döndürülen yerele bu yaftalar sonek olarak bu sırayla yerleştirilir.
'variant'
,'private'
ve'extlang'
için çoklu değerler belli bir anahtarın ('variant'
gibi) alt dizisi olarak (bu durumda alt yafta numara sınırlaması uygulanmaz) belirtilebileceği gibi'variant0'
,'variant1'
, şeklinde ayrı ayrı anahtar-değer çiftleriyle de belirtilebilir.
alt_yaftalar
boşsa false
, yoksa oluşturulan
yerelin tanıtıcısı döner.
Örnek 1 - locale_compose() örneği
<?php
$arr = array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo locale_compose($arr);
?>
Örnek 2 - Nesne yönelimli kullanım örneği
<?php
$arr = array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo Locale::composeLocale($arr);
?>
Yukarıdaki örneğin çıktısı:
Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2
Örnek 3 - Alt yafta sınırlaması
alt_yaftalar
numara sonlandırmalı olarak ayrı
anahtarlar olarak belirtilirse, desteklenmeyen anahtarlar sessizce yok
sayılır (bu durumda'extlang3'
) ve sonuç numaralara
göre sıralanır. Alt yaftalar bir dizi olarak belirtilirse sıralamaya
numara sınırlaması uygulanmaz.
<?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;
?>
Yukarıdaki örneğin çıktısı:
en_a_b_c_Hans_CN en_a_b_c_d_Hans_CN