函式名:MessageFormatter::setPattern()
適用版本:PHP 5 >= 5.3.0, PHP 7
用法:MessageFormatter::setPattern() 函式用於設定訊息格式化器的模式。訊息格式化器是用於將訊息模式與一組引數結合起來生成最終訊息的物件。
語法:bool MessageFormatter::setPattern(string $pattern)
引數:
- $pattern:要設定的訊息模式字串。模式字串可以包含佔位符,佔位符由花括號括起來,例如 "{0}"。佔位符中的數字表示引數的索引。
返回值:如果成功設定模式,則返回 true,否則返回 false。
示例:
$message = 'Hello, {0}! You have {1} new messages.';
$formatter = new MessageFormatter('en_US', $message);
$pattern = 'Hey, {0}! You have {1, number} new messages.';
$formatter->setPattern($pattern);
$name = 'John';
$numMessages = 5;
$result = $formatter->format([$name, $numMessages]);
echo $result; // 輸出:Hey, John! You have 5 new messages.
在上面的示例中,我們建立了一個訊息格式化器物件,並設定了一個初始的訊息模式。然後,我們使用 setPattern() 函式將模式更改為包含數字引數的新模式。最後,我們使用 format() 函式將引數傳遞給訊息格式化器,並輸出生成的訊息。
請注意,在模式字串中,我們使用了 "{1, number}" 來指定第二個引數是一個數字,並在生成訊息時進行格式化。這是模式字串中的一種格式化選項,可以根據需要使用不同的選項。