Как разбить число на разряды?
Всем привет!
Гуру, подскажите пожалуйста, как добавить пробел числу (разбить на разряды)?
Есть число 123456789
Хотелось бы видеть так: 123 456 789
Через ACF добавляю числовое поле.
Значение поля: total_vvod
Создаю переменную:
$total= get_field('total_vvod');
Вывожу:
<?php echo $total; ?>
Дополнительно:
30 секунд на поиск в яндексе одного из десятков вариантов
$total= get_field('total_vvod'); $total_formatted = number_format($total, 0, '.', ' '); <?php echo $total; ?> |
$total= get_field('total_vvod'); $total_formatted = number_format($total, 0, '.', ' '); <?php echo $total; ?>
<?php $total = get_field('total_vvod'); $formatted_total = number_format($total, 0, '', ' '); echo $formatted_total; ?> |
<?php $total = get_field('total_vvod'); $formatted_total = number_format($total, 0, '', ' '); echo $formatted_total; ?>
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Для разбиения числа на разряды в PHP используйте
number_format(). В вашем случае ACF возвращает число из поляtotal_vvod, его нужно привести к числу и вывести с пробелом как разделителем тысяч.$total = (float) get_field('total_vvod'); echo number_format($total, 0, '.', ' ');
Для значения
123456789получится:123 456 789
Параметры функции такие:
number_format(число, количество_знаков_после_запятой, разделитель_дроби, разделитель_тысяч)
Если нужны копейки или десятичные значения, например
123 456,78, используйте:$total = (float) get_field('total_vvod'); echo number_format($total, 2, ',', ' ');
Если поле ACF может быть пустым, добавьте проверку:
$total = get_field('total_vvod'); if ($total !== '' && $total !== null) { echo esc_html(number_format((float) $total, 0, '.', ' ')); }
Важно: если это поле используется для расчётов, храните в ACF именно чистое число без пробелов. Форматирование делайте только при выводе. Не нужно сохранять в поле уже отформатированную строку
123 456, иначе потом будут проблемы с сортировкой, фильтрами и математикой.Если число выводится в нескольких местах, лучше сделать маленькую функцию-хелпер, чтобы не повторять форматирование по шаблонам. Например: получить значение, проверить пустоту, привести к float/int, отформатировать и экранировать. Тогда при смене формата, например с пробела на неразрывный пробел, править придётся одно место, а не все шаблоны сайта.