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

PHP
PHP技巧:详解phplib模板使用过程及运行原理
PHP技巧:Smarty+adodb分页示例
PHP技巧:PHP脚本中关于拼写检查函数库
PHP技巧:PHP脚本编程中的文件系统函数库
PHP技巧:PHP中几种删除目录的三种方法
学习PHP技术:txtSQL安装手册中文版
学习PHP:PHP的通用检测函数总结
详细学习PHP中对文件和目录的操作方法
PHP+MYSQL实例:网站在线人数的程序代码
Linux操作系统启动httpd失败的解决方法
初学:在PHP开发中如何使用Session?
PHP初学者遇到的中文乱码解决方案
PHP实例:实现文件上传的程序源码
PHP实例:常用的数值判断函数
PHP实例源代码:PHP实现翻页处理的类
PHP实例:从数组里筛选出重复的数据
PHP实例:用PHP实现windows风格的树型菜单
PHP实例程序:实现给上传图片加水印图案的做法
PHP实例:用PHP编写的网上调查投票系统
PHP实例:一个非常全面获取图象信息的PHP函数

PHP 数字左侧自动补0


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 61 ::
收藏到网摘: 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,毕竟是内置的,肯定比自定义的快。