(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
MessageFormatter::formatMessage -- msgfmt_format_message — 手早くメッセージをフォーマットする
オブジェクト指向型
$locale
, string $pattern
, array $values
): string|false手続き型
$locale
, string $pattern
, array $values
): string|false明示的にフォーマッタオブジェクトを作成せずに、 手早くメッセージをフォーマットする関数です。 この関数を使用するのは、 一度きりのフォーマット処理であってパラメータや状態を保持する必要がない場合です。
locale
ロケールに依存する部分をフォーマットする際に使用するロケール。
pattern
使用するパターン文字列。 パターンには、'アポストロフィに優しい' 構文を使用します。 » umsg_autoQuoteApostrophe を通してから解釈が行われます。
values
フォーマット文字列に埋め込む値の配列。
フォーマットしたパターン文字列を返します。
エラーが発生した場合は false
を返します。
例1 msgfmt_format_message() の例
<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo msgfmt_format_message("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
?>
例2 オブジェクト指向の例
<?php
echo MessageFormatter::formatMessage("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo MessageFormatter::formatMessage("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/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