PHP 数字左侧自动补0

yipeiwu_com5年前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,毕竟是内置的,肯定比自定义的快。
/*
你上面的方法我觉得不怎么好,介绍一下我写的一个方法。方法函数如下,这样当你要的结果001的话,方法:dispRepair('1',3,'0')
功能:补位函数
str:原字符串
type:类型,0为后补,1为前补
len:新字符串长度
msg:填补字符
*/
复制代码 代码如下:

function dispRepair($str,$len,$msg,$type='1') {
$length = $len - strlen($str);
if($length<1)return $str;
if ($type == 1) {
$str = str_repeat($msg,$length).$str;
} else {
$str .= str_repeat($msg,$length);
}
return $str;
}

相关文章

PHP+redis实现的悲观锁机制示例

本文实例讲述了PHP+redis实现的悲观锁。分享给大家供大家参考,具体如下: 锁机制 通常使用的锁分为乐观锁,悲观锁这两种,简单介绍下这两种锁,作为本文的背景知识,对这类知识已经有足够...

PHP正则解析多重循环模板示例

本文实例讲述了PHP正则解析多重循环模板。分享给大家供大家参考,具体如下: $str = "客户您好,为您推荐以下项目:(crm{项目2:项目名称} (crm{项目3:项目名称}cr...

php中preg_replace正则替换用法分析【一次替换多个值】

php中preg_replace正则替换用法分析【一次替换多个值】

本文实例讲述了php中preg_replace正则替换用法。分享给大家供大家参考,具体如下: 1.php 的 preg_replace 与 str_replace 都是默认 /g 的,全...

php中获取远程客户端的真实ip地址的方法

(1).REMOTE_ADDR:浏览当前页面的用户计算机的ip地址 (2).HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关 (3).HTTP_CLIENT_I...

使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT

例如这样一个表,我想统计email和passwords都不相同的记录的条数 复制代码 代码如下: CREATE TABLE IF NOT EXISTS `test_users` ( `e...