MessageFormatter::formatMessage

msgfmt_format_message

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

MessageFormatter::formatMessage -- msgfmt_format_message手早くメッセージをフォーマットする

説明

オブジェクト指向型

public static MessageFormatter::formatMessage(string $locale, string $pattern, array $values): string|false

手続き型

msgfmt_format_message(string $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(45601234560/123));
echo 
msgfmt_format_message("de""{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(45601234560/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(45601234560/123));
echo 
MessageFormatter::formatMessage("de""{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", 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

参考

関連キーワード:  フォーマット, メッセージ, msgfmt, MessageFormatter, string, format, パターン, formatMessage, locale, pattern