• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • MessageFormatter::create()

    MessageFormatter::__construct

    msgfmt_create

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

    Constructs a new Message Formatter

    说明

    面向对象风格(method)

    publicstaticMessageFormatter::create(string $locale,string $pattern): MessageFormatter

    面向对象风格(constructor):

    publicMessageFormatter::__construct(string $locale, string $pattern)
    过程化风格
    msgfmt_create(string $locale,string $pattern): MessageFormatter

    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

    错误/异常

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

    范例

    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(4560, 123, 4560/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(4560, 123, 4560/123));
    ?>
    

    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(4560, 123, 4560/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(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
    

    参见

    • msgfmt_format() Format the message
    • msgfmt_parse() Parse input string according to pattern
    • msgfmt_get_error_code() Get the error code from last operation
    • msgfmt_get_error_message() Get the error text from the last operation
    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',''));"