PHP实现数字补零功能的2个函数介绍

yipeiwu_com7年前PHP代码库

在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可以保证想补啥补啥。

相关文章

解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法

解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法

把PHP的版本从5.2.14升到了5.4.15,升级完后dedecms后台却打开空白,检查了各种权限和文件,都没有问题,找来找去,原来是PHP版本函数的问题,它是用session_reg...

推荐十款免费 WordPress 插件

推荐十款免费 WordPress 插件

2015必备wordpress插件列表。为了增强wordpress站点,一些优秀有效的免费wordpress 插件是必不可少的。 WordPress 插件用于提升 wordpress...

PHP 验证身份证是否合法的函数

话不多说,请看代码: function is_idcard( $id ) { $id = strtoupper($id); $regx = "/(^\d{15}$)|(^\d...

探讨PHP中OO之静态关键字以及类常量的详解

闲着没事随便找了点PHP的关于OO的点资料看看,访问控制修饰符,self,parent,const,static几个关键字,箭头操作符(书上也这么叫..即“->”),范围解析操作符...

学习php设计模式 php实现抽象工厂模式

学习php设计模式 php实现抽象工厂模式

抽象工厂模式(Abstact Factory)是一种常见的软件设计模式。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以为此系列的产品族创建一个具体的工厂类...