如何在PHP中为数字添加前导零和逗号

如何在PHP中为数字添加前导零和逗号,php,integer,format,number-formatting,Php,Integer,Format,Number Formatting,我有一个变量$counter,它返回以下整数: 4 我想使用数字格式或类似格式使我的整数以这种格式显示: 000,000,004 如何才能做到这一点?您可以这样使用和: $number = 4; $formattedNumber = sprintf("%09d", $number); $formattedNumber = str_split($formattedNumber, 3); $formattedNumber = implode(",", $formattedNumber); ech

我有一个变量
$counter
,它返回以下整数:

4
我想使用数字格式或类似格式使我的整数以这种格式显示:

000,000,004
如何才能做到这一点?

您可以这样使用和:

$number = 4;
$formattedNumber = sprintf("%09d", $number);
$formattedNumber = str_split($formattedNumber, 3);
$formattedNumber = implode(",", $formattedNumber);
echo $formattedNumber;
编辑: 下面是上述代码的一个杀手级变体,它使用:

您可以使用以下功能:

str_pad((4,2,"0",STR_PAD_LEFT);
你可以做的一个方法是

另一个是使用

使用


对于大于
100000000
的数字,的可能重复项无法正常工作。(给出100000000,0而不是100000000)。@Artefact2:见修改后的答案。
str_pad((4,2,"0",STR_PAD_LEFT);
sprintf('%03d', $counter);
str_pad($counter, 3, "0", STR_PAD_LEFT);
$string = "4";
echo str_pad($string, 9, "0", STR_PAD_LEFT); // prints "000000004" (9-digit number)

/* 
   9 = How long the returned value should be. Must be bigger than length of $string
   0 = String to add
   STR_PAD_LEFT = On which side to add zeros? Left, in the case
 */
$number = 1;
echo number_format($number / 1000, 3, ",", "."); // 2 decimals, "," and "." as seperators
// gives 0,001