我试图生成条形码,我需要它是20个数字。条形码要求引用必须是20个数字。
所以如果我的参考是67585 它必须是20个数字,如00000000000000067585
如果参考是489382995463342 条形码编号必须为20个数字,如00000489382995463342
我尝试了这段代码,但它无法正常工作
str_pad(str_replace('', '',$reference), 20, '0', STR_PAD_LEFT);
答案 0 :(得分:1)
试试这个 -
str_pad($reference, 20, '0', STR_PAD_LEFT);
OR,
sprintf('%20d', $reference);
答案 1 :(得分:1)
看起来很好(见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;
}
答案 2 :(得分:1)
使用sprintf
用于sprintf功能的文档链接。
http://php.net/manual/en/function.sprintf.php
<?php
$num = 4;
$num_padded = sprintf("%02s", $num);
echo $num_padded; // returns 04
?>
PHP prepend leading zero before single digit number, on-the-fly