IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

小小子,simaopig 2010-06-05 11:40:12 累计浏览 2,469 次
本机暂存

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

大功告成。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 使用gettext来支持PHP的多语言 (累计阅读 39,270)
  2. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,164)
  3. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,408)
  4. 我的PHP,Python和Ruby之路 (累计阅读 13,150)
  5. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,791)
  6. 15个最好的免费开源电子商务平台 (累计阅读 12,541)
  7. Redis消息队列的若干实现方式 (累计阅读 12,088)
  8. 到底什么是MVC? (累计阅读 11,870)
  9. 整理了一份招PHP高级工程师的面试题 (累计阅读 11,709)
  10. Rolling cURL: PHP并发最佳实践 (累计阅读 11,488)