本文目录一览:
php 数组里的数字前补0,应该如果写?
思路给你提供一下 循环一下 然后strlen
如果为1则补0
补的方法有两种 所有的值写入新数组
或者 $value
php数组转换,数字前补0,如何处理,请指点,但不是指指点点,呵呵
可以使用php内置函数str_pad() 函数把字符串填充为新的长度。
str_pad(string,length,pad_string,pad_type)
参数
string //必需。规定要填充的字符串。
length //必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。
pad_string //可选。规定供填充使用的字符串。默认是空白。
pad_type //可选。规定填充字符串的哪边。
详细用法请参考:
PHP实现数字补零功能的2个函数介绍
在PHP中至少有两个函数能够帮助我们快速实现数字补零:
首先是PHP
str_pad函数:
复制代码
代码如下:#str_pad
—
使用另一个字符串填充字符串为指定长度
顾名思义这个函数是针对字符串,对指定的字符串填补任何其它的字符串
str_pad参数说明:
复制代码
代码如下:string
str_pad
(
string
$input
,
int
$pad_length
[,
string
$pad_string
=
"
"
[,
int
$pad_type
=
STR_PAD_RIGHT
]]
)
#常用参数说明:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)
其中填补后的长度必须是个正整数,填补位置有三个选项,
左边:STR_PAD_LEFT
右边:STR_PAD_RIGHT
两端:STR_PAD_BOTH
实例展示:
复制代码
代码如下:echo
str_pad(1,8,"0",STR_PAD_LEFT);
#结果:00000001
echo
str_pad(1,8,"0",STR_PAD_RIGHT);
#结果:10000000
echo
str_pad(1,8,"0",STR_PAD_BOTH);
#结果:00010000
在上边的例子中值得注意的一个细节是,如果填补的位数是个奇数,例如例三中填补了7个0,右边优先。
下面再看下补零的另外一种方法:
PHP
sprintf函数:
复制代码
代码如下:#sprintf
—
返回一个格式化字符串
这个函数用起来比较灵活,有待学者们深挖,这里主要讲实现数值左边补零(或者在小数点后补零)的处理方式;
先看左边补零
复制代码
代码如下:echo
sprintf("%05d",1);
#
%05d的意思:用一个5位数的数字格式化后边的参数,如果不足5位就补零
#
运行结果是00001
再看小数点后补零
复制代码
代码如下:echo
sprintf("%01.3f",1);
#
%01.3f的意思:用一个小数点后最少三位不足三位补零,小数点前最少一位,不足一位补零的浮点数格式化后边的参数
#
运行结果是:1.000
另外还可以自己编写一个自定义函数进行处理;
编写代码各有所优也有所劣,大家可以任选适合的;
注:sprintf能够保证不至于误操作把1补成1000000,str_pad可以保证想补啥补啥。