如何阻止PHP取整我的条形码号码
我在数组中有一些条形码号码。PHP似乎在对以前导零开始的条形码进行舍入。我如何阻止这种情况发生并保持数字不变?我使用的代码如下:如何阻止PHP取整我的条形码号码,php,arrays,barcode,rounding,Php,Arrays,Barcode,Rounding,我在数组中有一些条形码号码。PHP似乎在对以前导零开始的条形码进行舍入。我如何阻止这种情况发生并保持数字不变?我使用的代码如下: $array = array(5032227448124,5060028999989,5010121096504,5060028999996,5016254104864,5016402052788,8422248036986,0000003798720,0000003735503,0000003798713); echo '<pre>'; print_r
$array = array(5032227448124,5060028999989,5010121096504,5060028999996,5016254104864,5016402052788,8422248036986,0000003798720,0000003735503,0000003798713);
echo '<pre>';
print_r($array);
echo '</pre>';
$array=array(503222744812450600289999895010121096504502899965016254104486450164020527842224803698600000379872000000037355000003798713);
回声';
打印(数组);
回声';
这与以下内容相呼应,正如您所看到的,具有前导零的最后四个条形码已被更改,并且前导零已被删除。这些数字总是13位长,并用零填充
printf('%013d', 12345); // output: 0000000012345
排列
(
[0] => 5032227448124
[1] => 5060028999989
[2] => 5010121096504
[3] => 5060028999996
[4] => 5016254104864
[5] => 5016402052788
[6] => 8422248036986
[7] => 31
[8] => 1030979
[9] => 31
[10] => 1031004
)
如果它们不是数字(整数、浮点、指数),则需要将它们作为字符串引用
SELECT LPAD(12345, 13, 0) // output 0000000012345
$array = array_map(function ($e){return str_pad($e, 13, "0", STR_PAD_LEFT);}, $array);
以下是将值转换为填充字符串的简单方法:
$array = array("5032227448124","5060028999989","5010121096504","5060028999996","5016254104864","5016402052788","8422248036986","0000003798720","0000003735503","0000003798713");
最后,我只需要在每个条形码编号周围加上双引号,例如
只是澄清一下——不需要双引号,单引号也可以。此外,这应该是对我的回答的评论,因为你选择了我的回答作为被接受的答案,而且这基本上就是你所做的:-)
$array = array("5032227448124","5060028999989","5010121096504","5060028999996","5016254104864","5016402052788","8422248036986","0000003798720","0000003735503","0000003798713");