首页 > PHP > PHP 添加前导0,去掉前导0
2010六月4

PHP 添加前导0,去掉前导0

字符串18位,后10位由用户id组成,但是目前用户id长度为8,需要在不足10位时前面加前导0,以便可以兼容日后用户id增加长度的情况。同时,也要在18位字符串中取出用户id,这里的用户id同样不能包括前导0。

真是一个让人头疼的东西,绕来绕去的,烦啊。不过,烦咱不也得做吗?呵呵~~

首先,加前导0这个工作php有现成的函数可以替咱完成。

str_pad — Pad a string to a certain length with another string

string str_pad ( string $input , int $pad_length [, string $pad_string [, int $pad_type ]] )

有了这个函数,咱可以想加前导0就加前导0,想加后导0就加后导0,呵呵。

$entity_key = str_pad($qid,10,'0',STR_PAD_LEFT);

可是从这18位中分析出不含有前导0的用户id咋办?这可没有现成的函数啊!不过咱可以使用正则,虽然好久不用了,不过小来小去的还是可以装上一装的。呵。

$pattern = "/^(0+)(\d+)/i";
$replacement = "\$2";
$qid = substr($id,-10);
$qid = preg_replace($pattern,$replacement,$qid);

大功告成。

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2010/06/04/1764/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

3 Responses to “PHP 添加前导0,去掉前导0”

  1. #1 掌柜的马甲 回复 | 引用 Post:2010-06-04 23:35

    正则..这个好像很好用啊…

    [回复]

  2. #2 荒野无灯 回复 | 引用 Post:2010-06-05 22:45

    好久没有见你写PHP的文章 了

    [回复]

  3. #3 4ngel 回复 | 引用 Post:2011-10-16 15:05

    intval,so easy!

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)