PHP 7.1.18 Released

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

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

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create新しいメッセージフォーマッタを作成する

説明

オブジェクト指向型 (メソッド)

public static MessageFormatter MessageFormatter::create ( string $locale , string $pattern )

オブジェクト指向型 (コンストラクタ):

public MessageFormatter::__construct ( string $locale , string $pattern )

手続き型

MessageFormatter msgfmt_create ( string $locale , string $pattern )

新しい Message Formatter を作成します。

パラメータ

locale

引数のフォーマットに用いるロケール。

pattern

引数を埋め込むパターン文字列。 パターンには、'アポストロフィに優しい' 構文を使用します。 » umsg_autoQuoteApostrophe を通してから解釈が行われます。

返り値

フォーマッタオブジェクトを返します。

例1 msgfmt_create() の例

<?php
$fmt 
msgfmt_create("en_US""{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo 
msgfmt_format($fmt, array(45601234560/123));
$fmt msgfmt_create("de""{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo 
msgfmt_format($fmt, array(45601234560/123));
?>

例2 オブジェクト指向の例

<?php
$fmt 
= new MessageFormatter("en_US""{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo 
$fmt->format(array(45601234560/123));
$fmt = new MessageFormatter("de""{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo 
$fmt->format(array(45601234560/123));
?>

上の例の出力は以下となります。

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

参考

add a note add a note

User Contributed Notes 1 note

up
3
ezarko at synacor dot com
8 years ago
Beware: passing an empty string for format returns null, not a formatter which returns empty strings.

$ php -r "print_r(new MessageFormatter('en_US',' '));"
MessageFormatter Object
(
)
$ php -r "print_r(new MessageFormatter('en_US',''));"
To Top