Andy's Blog » php 補0, php 补0, php 补零, php sprintf 0d, mysql 查询自动左边补0 » PHP 数字左侧自动补0

PHP 数字左侧自动补0

PHP 数字左侧自动补0

举例来说:员工的工号 X001
虽然 MySQL 本身的字段设定成 zerofill 的属性时,会将不足位数的部份补上0,但是这个功能只能用在数字的字段上面。
所以必要的时候只好靠PHP来进行了。

<?php
    
$sourceNumber = "1";
    
$newNumber = substr(strval($sourceNumber+1000),1,3);
    
echo "$newNumber";
?>

这个时候就会出现:001
如果要增加位数的话可以将1000加大,然后把3也加大。
举例:如果我要补上 "4个0" 第03行 就要变成这样。

<?php
$newNumber = substr(strval($sourceNumber+100000),1,5);
?>

其实就是总共要显示几位数字,就把$sourceNumber+1后面补上多少个0,最后一个数字就直接改成显示几位数字。

Incoming search terms:

Tags: PHP, 技巧

本文地址: http://www.21andy.com/new/20070321/610.html

7 评论 to “PHP开源CMS之MODx”

  1. pil 于 2007-03-21 10:12:17 发表:

    效果相同

    EM: socketp[at]163.com

  2. elements 于 2007-03-21 11:38:36 发表:

    比你说的那个itlab的php+mysql教程里的“统计器”一节里的方法简单多了。

  3. 林雨翔 于 2007-03-23 16:45:24 发表:

    好像这样子也行:sprintf("%010d",'123');

  4. 同城 于 2008-10-20 07:29:53 发表:

    是这样的吧sprintf("%'010d",'123');还有一个'号的

  5. HOHO 于 2009-07-16 15:01:25 发表:

    str_pad($val, 6, '0', STR_PAD_LEFT);

    wwww 于 2010-07-02 16:41:36 回复:

    str_pad($val, 6, '0', STR_PAD_LEFT);

    正解

    wwww2 于 2010-07-02 16:43:14 回复:

    不知道有没有楼主的效率高