# MessageFormatter::formatMessage

# msgfmt_format_message

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

MessageFormatter::formatMessage -- msgfmt_format_message — Formate rapidement un message

### Description

Style orienté objet

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

Style procédural

msgfmt_format_message(string `$locale`, string `$pattern`, array `$values`): string|false

Fonction de formatage rapide, qui formate une chaîne sans avoir à créer explicitement un objet de formatage. Utilisez cette fonction lorsque l'opération de formatage n'est effectuée qu'une seule fois et qu'il n'est pas nécessaire de conserver des paramètres ou des états, ou lorsque vous souhaitez personnaliser la sortie en fournissant directement un contexte supplémentaire à ICU.

### Liste de paramètres

`locale`

  La locale à utiliser pour le formatage

`pattern`

  La chaîne de caractères dans laquelle il faut insérer les données. Le modèle utilise une syntaxe qui accepte les apostrophes; Voir » Quoting/Escaping pour plus de détails.

`values`

  Le tableau de valeurs à insérer dans la chaîne de format.

### Valeurs de retour

La chaîne formatée, ou bien `false` si une erreur survient.

### Exemples

Exemple #1 Exemple avec msgfmt_format_message(), style procédural

`<?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));
echo msgfmt_format_message("en", 'You finished {place, selectordinal, one {#st} two {#nd} few {#rd} other {#th}}!', ['place' => 3]), "\n";
echo msgfmt_format_message("en",
"There {apple, plural,
=0 {are no apples}
=1 {is one apple...}
other {are # apples!}
}",
['apple' => 0]
), "\n";`

Exemple #2 Exemple avec msgfmt_format_message(), style procédural

`<?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));
echo MessageFormatter::formatMessage("en", 'You finished {place, selectordinal, one {#st} two {#nd} few {#rd} other {#th}}!', ['place' => 3]), "\n";
echo MessageFormatter::formatMessage("en",
"There {apple, plural,
=0 {are no apples}
=1 {is one apple...}
other {are # apples!}
}",
['apple' => 0]
), "\n";`

L'exemple ci-dessus va afficher :

    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
    You finished 3rd!
    There are no apples

Exemple #3 Demander à ICU de formater la devise avec le symbole monétaire commun et avec le symbole monétaire court.

Nécessite ICU ≥ 67.

`<?php
echo msgfmt_format_message("cs_CZ", "{0, number, :: currency/CAD}", array(123.45));
echo msgfmt_format_message("cs_CZ", "{0, number, :: currency/CAD unit-width-narrow}", array(123.45));`

L'exemple ci-dessus va afficher :

    123,45 CA$
    123,45 $

### Voir aussi

- msgfmt_create() - Construit un nouveau formateur de messages
- msgfmt_parse() - Analyse une chaîne en fonction du modèle
- msgfmt_get_error_code() - Lit le dernier code d'erreur de la dernière opération
- msgfmt_get_error_message() - Lit le message d'erreur de la dernière opération