PHP. запятая после каждых 3-х цифр

12
EA
На сайте с 15.02.2007
Offline
29
1698

Приветствую всех,

Задача такая:

допустим есть число

34647586587

нужно из него получить

34,647,586,587

Думаю сделать через регулярные выражения, но не особо силён в них, и пока не получается.

preg_replace ( "(\d{3})(\d{3})(\d{3})(\d{3})", "\\1,\\2,\\3,\\4", $a );

Заранее спасибо если кто поможет, кстати в движке этого форума это реализовано, в кол-ве просмотров темы.

"Конкурс" (/ru/forum/201132) и "Фото конкурс" (/ru/forum/212504) для DLE.
Saacy
На сайте с 20.10.2008
Offline
78
#1

<?php

$integer = 34647586587;
echo number_format($integer); // 34,647,586,587
?>

Ссылка на мануал.

Ищу доноров RU/EN/FR/DE/ES/PT (/ru/forum/888035)
EA
На сайте с 15.02.2007
Offline
29
#2

Спасибо, всё оказалось проще ))

Bitman
На сайте с 05.07.2009
Offline
112
#3

Хм... не знал. Называется- учите матчасть и всё окажется проще.

Северный лес (https://euro-vagonka.by) DREW (https://drew.by) AvtoDrive (https://avtodrive.by)
BrokenBrake
На сайте с 03.03.2007
Offline
194
#4

В какой-то статье на Хабре, что ли, помню фразу (не дословно): "В PHP сотни встроенных функций, не изобретайте велосипеды! Наверняка уже есть то, что вам нужно". И правда ведь :)

dkameleon
На сайте с 09.12.2005
Offline
386
#5
BrokenBrake:
"В PHP сотни встроенных функций, не изобретайте велосипеды!

В регексах тоже, в частности модификатор /i :)))

Дизайн интерьера (http://balabukha.com/)
BrokenBrake
На сайте с 03.03.2007
Offline
194
#6

dkameleon, знаю что в мой огород камень, да вот я не уверен, что это модификатор всегда сработает с русским текстом в UTF-8, поэтому перестраховываюсь. В PHP ещё очень много глюков с UTF-8, к сожалению.

[Удален]
#7
BrokenBrake:
dkameleon, знаю что в мой огород камень, да вот я не уверен, что это модификатор всегда сработает с русским текстом в UTF-8, поэтому перестраховываюсь. В PHP ещё очень много глюков с UTF-8, к сожалению.

локаль надо ставить

setlocale(LC_ALL,"ru_RU.UTF-8");

все сравнения вне локали бинарные

однако если такой локали нет в системе, то все будет плохо

BrokenBrake
На сайте с 03.03.2007
Offline
194
#8

neolord, к сожалению, на глюки можно напороться и с правильной локалью.

Лень искать сейчас примеры, но я натыкался на это в работе.

dkameleon
На сайте с 09.12.2005
Offline
386
#9
BrokenBrake:
к сожалению, на глюки можно напороться и с правильной локалью.
Лень искать сейчас примеры, но я натыкался на это в работе.

в таких случаях достаточно репорта в багтрекер :)

вскоре исправят.

это не нормально писать код, который бы поддерживал обратную совместимость до неизвестного уровня, да ещё и бажные версии.

BrokenBrake
На сайте с 03.03.2007
Offline
194
#10
dkameleon:
это не нормально писать код, который бы поддерживал обратную совместимость до неизвестного уровня

Это ты про сферического коня в вакууме, или снова в мою сторону?

Я пишу под PHP 5.2.

dkameleon:
да ещё и бажные версии

Только для простейших скриптов типа 'Hello, word!' ещё можно гарантировать безбажность.

Ошибки все делают, разработчики любого уровня. Лишь бы они не были фатальными.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий