Перейти к содержимому

money_format()

Функция money_format() форматирует число в виде строки валюты. Примечание: Эта функция была удалена в PHP 7.0. Для современных версий PHP используйте класс NumberFormatter из расширения intl. Ниже приведены исторический синтаксис и примеры использования для устаревших кодовых баз.

Синтаксис выглядит следующим образом:

PHP-синтаксис money_format()

php
string money_format ( string $format , float $number )

Функция принимает два параметра: $format (строка, содержащая правила форматирования) и $number (числовое значение для форматирования). К распространенным спецификаторам формата относятся:

  • %i – Международный формат валюты (например, USD, EUR)
  • %n – Локальный формат валюты (например, $, )

Ниже приведен пример использования функции money_format():

Пример PHP money_format()

php
<?php
$number = 1234.56;
setlocale(LC_MONETARY, 'en_US');
echo money_format('%n', $number);
?>

В этом примере переменная $number содержит значение с плавающей запятой. Вызов setlocale() устанавливает денежный локаль в en_US. Обратите внимание, что setlocale() возвращает false, если указанный локаль не поддерживается, что приведет к ошибке money_format(). Кроме того, setlocale() устарел в PHP 8.1 и удален в PHP 8.2, поэтому данный пример работает только в PHP 7.4 и более ранних версиях.

Результат выполнения этого кода будет следующим:

console
$1,234.56

Исторически эта функция использовалась для бухгалтерского и финансового форматирования в PHP. Для современных проектов класс NumberFormatter обеспечивает форматирование с учетом локали и является рекомендуемым подходом.

Данный обзор охватывает устаревшую функцию money_format() для справки и поддержки более старого кода на PHP.

Практика

Что делает функция 'money_format' в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.