php 一个数字拼接0,生成指定位数的数字(php数字补零的两种方法)

81443b7c5054bc9bc7466f7d3d4582a2.png

第一种方式使用sprintf()函数 demo如下:/*生成卡号

@parameter int $goods_id,$id 根据goods_id(4位,不够4位补0)和id(6位,不够6位前边补0)生成 goods_id和id中间用-连接

@return string 返回生成后的字符串

* */

function generate_goods_numbers($goods_id,$id)

{

if(strlen($goods_id) == 4)

{

//等于4 则刚符合4位规则

$goods_id = $goods_id;

}

elseif(strlen($goods_id) > 4)

{

//大于4 截取前4位

$goods_id = substr($goods_id,0,4);

}

else

{

//既不等于4又不大于4 则在传进来的$goods_id前面补0 补齐4位

$goods_id = sprintf("%04d",$goods_id); //生成4位数,不足前面补0

}

if(strlen($id) == 6)

{

$id = $id;

}

elseif(strlen($id) > 6)

{

$id = substr($id,0,6);

}

else

{

$id = sprintf("%06d",$id); //生成6位数,不足前面补0

}

return $goods_id.'-'.$id;

}

//调用函数

$variable = generate_goods_numbers(12,29);

echo $variable;  //输出:0012-000029

第二种方式 使用str_pad()函数 demo如下:str_pad()

顾名思义这个函数是针对字符串来说的这个可以对指定的字符串填补任何其它的字符串

例如:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)

其中填补后的长度必须是个正整数,填补位置有三个选项,

左边:STR_PAD_LEFT,

右边:STR_PAD_RIGHT,

两端:STR_PAD_BOTH

演示:

echo str_pad(1,3,0,STR_PAD_LEFT);   //输出:001

如果不使用sprintf()和str_pad()函数,也可以自己在函数内自己计算要补齐多少个0,至于还有没有其它函数我就不清楚了~

可以参考以下链接:

http://www.cnblogs.com/52php/p/5657892.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值