MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

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

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_createConstructs a new Message Formatter

说明

面向对象风格 (method)

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

面向对象风格 (constructor):

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

过程化风格

msgfmt_create ( string $locale , string $pattern ) : MessageFormatter|null

Constructs a new Message Formatter

参数

locale

The locale to use when formatting arguments

pattern

The pattern string to stick arguments into. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.

返回值

The formatter object, or null on failure.

错误/异常

When invoked as constructor, on failure an IntlException is thrown.

范例

Example #1 msgfmt_create() example

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

Example #2 OO example

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

参见

User Contributed Notes

ezarko at synacor dot com 05-Oct-2009 03:18
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',''));"
PHP8中文手册 站长在线 整理 版权归PHP文档组所有