php正则表达式插入逗号

php正则表达式插入逗号,php,Php,我正在寻找一个正则表达式插入逗号到一个数字。例如,我有999999999,我想插入1000个分隔符。我知道我可以使用数字格式,但这并不能解决我的问题,因为我的数字实际上是阿拉伯格式的。我尝试使用preg_replace,但找不到答案。 我从stackoverflow的一个答案中找到了下面的代码,但它抛出了错误 $num = '۱۲۳۴۵۶۷۸۹۰'; $n=更换前(/($3})/,($num); echo$n 尝试使用wordwrap $num = '۱۲۳۴۵۶۷۸۹۰'; $newNum

我正在寻找一个正则表达式插入逗号到一个数字。例如,我有999999999,我想插入1000个分隔符。我知道我可以使用数字格式,但这并不能解决我的问题,因为我的数字实际上是阿拉伯格式的。我尝试使用preg_replace,但找不到答案。 我从stackoverflow的一个答案中找到了下面的代码,但它抛出了错误

$num = '۱۲۳۴۵۶۷۸۹۰';
$n=更换前(/($3})/,($num); echo$n

尝试使用wordwrap

$num = '۱۲۳۴۵۶۷۸۹۰';
$newNum = wordwrap($num , 4 , ',' , true );
这应该输出:“۱۳۴,۵۷۸۹۰”

来源:

试试这个:

$num = '۱۲۳۴۵۶۷۸۹۰';
$ar = str_split($num, 3);
$result = implode(',', $ar);
echo $result;

基于@JellyBean答案

$num = '۱۲۳۴۵۶۷۸۹۰';
$newNum = wordwrap($num , 6 , ',' , true );
这将呼应出

首先,为什么是6?因为字符使用2个字节。 第二,还有一个问题;我们想要的是:

解决方案 我们可以逆转它

$num = strrev('۱۲۳۴۵۶۷۸۹۰');
$newNum = strrev(wordwrap($num , 6 , ',' , true ));

echo $newNum;

POC: