服务器之家

服务器之家 > 正文

PHP 数字左侧自动补0

时间:2019-10-27 11:53     来源/作者: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; 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部