<?php
$pattern = '/(\d{3}(?!$))(\d{3}$)?/';
$replacement = '$1,$2';
$num = 1234;
var_dump(preg_replace($pattern, $replacement, $num)); //123,4
$num = 123456789;
var_dump(preg_replace($pattern, $replacement, $num)); //123,456,789
$num = 123;
var_dump(preg_replace($pattern, $replacement, $num)); //123
$num = 1234567890;
var_dump(preg_replace($pattern, $replacement, $num)); //123,456,789,0
preferences:
24.51 ms | 405 KiB | 5 Q