IT技术博客大学习 共学习 共进步

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

小小子,simaopig 2010-06-05 11:40:12 浏览 2,401 次

字符串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);

大功告成。