找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 158|回复: 0
打印 上一主题 下一主题

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

[复制链接]

3444

主题

3465

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11142
跳转到指定楼层
楼主
发表于 2018-2-14 05:58:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            在PHP中至少有两个函数能够帮助我们快速实现数字补零:
首先是PHP str_pad函数:
[U]复制代码[/U] 代码如下:#str_pad — 使用另一个字符串填充字符串为指定长度
顾名思义这个函数是针对字符串,对指定的字符串填补任何其它的字符串
str_pad参数说明:
[U]复制代码[/U] 代码如下: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
实例展示:
[U]复制代码[/U] 代码如下: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函数:
[U]复制代码[/U] 代码如下:#sprintf — 返回一个格式化字符串
这个函数用起来比较灵活,有待学者们深挖,这里主要讲实现数值左边补零(或者在小数点后补零)的处理方式;
先看左边补零
[U]复制代码[/U] 代码如下:echo sprintf("%05d",1);
# %05d的意思:用一个5位数的数字格式化后边的参数,如果不足5位就补零
# 运行结果是00001
再看小数点后补零
[U]复制代码[/U] 代码如下:echo sprintf("%01.3f",1);
# %01.3f的意思:用一个小数点后最少三位不足三位补零,小数点前最少一位,不足一位补零的浮点数格式化后边的参数
# 运行结果是:1.000
另外还可以自己编写一个自定义函数进行处理;
编写代码各有所优也有所劣,大家可以任选适合的;
注:sprintf能够保证不至于误操作把1补成1000000,str_pad可以保证想补啥补啥。
            
            
您可能感兴趣的文章:
  • php不用内置函数对数组排序的两个算法代码
  • PHP下escape解码函数的实现方法
  • 通过PHP的内置函数,通过DES算法对数据加密和解密
  • PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
  • PHP实现生成透明背景的PNG缩略图函数分享
  • PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
  • PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
  • PHP实现通用alert函数的方法
  • php实现的简单日志写入函数
  • PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
  • PHP简单实现欧拉函数Euler功能示例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端