PHP为数字添加零


PHP adding zeros to numbers

我正在尝试生成条形码,我需要它是20个数字。条形码要求引用必须为20个数字。

所以如果我的参考号是67585它必须是20个数字,比如000000000000000 67585

如果参考号为48938299546342条形码编号必须是20个数字,如0000048938299546342

我试过这个代码,但它不能正常工作

str_pad(str_replace('', '',$reference), 20, '0', STR_PAD_LEFT);

试试这个-

str_pad($reference, 20, '0', STR_PAD_LEFT);

或者,

sprintf('%20d', $reference);

看起来不错(请参阅http://3v4l.org/UKBqS),您是如何查看/检查最终价值的?

<?php
if ( ! defined('PHP_EOL')) {
    define('PHP_EOL', "'n");
}
foreach (array('67585', '489382995463342') as $test) {
    echo str_pad($test, 20, '0', STR_PAD_LEFT), PHP_EOL;
}

使用sprintf

sprintf函数的Docs链接。

http://php.net/manual/en/function.sprintf.php

<?php
$num = 4;
$num_padded = sprintf("%02s", $num);
echo $num_padded; // returns 04
?>

PHP在个位数前加前导零,动态