当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 数字左侧自动补0

PHP
PHP6 安装方法
PHP中的ob_start用法详解
学习php遇到的主要问题及解决办法
PHP知识:正则表达式中特殊字符的说明
PHP系列教程:《PHP设计模式介绍》 导言
PHP系列教程:设计模式介绍Ⅰ编程惯用法
PHP系列教程:设计模式介绍Ⅱ值对象模式
PHP系列教程:设计模式介绍Ⅲ工厂模式
PHP系列教程:设计模式介绍Ⅳ单件模式
PHP系列教程:设计模式介绍Ⅴ注册模式
PHP系列教程:设计模式介绍Ⅵ伪对象模式
PHP系列教程:设计模式介绍Ⅶ策略模式
PHP系列教程:设计模式介绍Ⅷ迭代器模式
PHP系列教程:设计模式介绍Ⅸ观测模式
PHP系列教程:设计模式介绍Ⅸ规范模式
PHP教程:自动适应范围的页码分页程序
SQL函数:CONCAT_WS和LENGTH
PHP:招PHP高级工程师的面试题
美化/etc/my.cnf文件
PHP注释查看器

PHP 数字左侧自动补0


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 185 ::
收藏到网摘: n/a

举例来说:员工的工号 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,最后一个数字就直接改成显示几位数字。
更好的方法:
string str_pad ( string $input, int $pad_length [, string $pad_string [, int $pad_type]] )
复制代码 代码如下:

<?php
$input = "Alien";
echo str_pad($input, 10);
// produces "Alien "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);
// produces "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);
// produces "__Alien___"
echo str_pad($input, 6 , "___");
// produces "Alien_"
?>

补齐字符串的长度.以pad_string 补.默认补在右边,如果STR_PAD_LEFT就补到左边,STR_PAD_BOTH两边一起补。
下次用str_pad,毕竟是内置的,肯定比自定义的快。