<?php <BR> $sourceNumber = "1"; <BR> $newNumber = substr(strval($sourceNumber+1000),1,3); <BR> echo "$newNumber"; <BR>?> <BR>
这个时候就会出现:001
如果要增加位数的话可以将1000加大,然后把3也加大。
举例:如果我要补上 “4个0” 第03行 就要变成这样。
<?php <BR>$newNumber = substr(strval($sourceNumber+100000),1,5); <BR>?> <BR>
其实就是总共要显示几位数字,就把$sourceNumber+1后面补上多少个0,最后一个数字就直接改成显示几位数字。
更好的方法:
string str_pad ( string $input, int $pad_length [, string $pad_string [, int $pad_type]] )
<?php <BR>$input = "Alien"; <BR>echo str_pad($input, 10); <BR>// produces "Alien " <BR>echo str_pad($input, 10, "-=", STR_PAD_LEFT); <BR>// produces "-=-=-Alien" <BR>echo str_pad($input, 10, "_", STR_PAD_BOTH); <BR>// produces "__Alien___" <BR>echo str_pad($input, 6 , "___"); <BR>// produces "Alien_" <BR>?> <BR>
补齐字符串的长度.以pad_string 补.默认补在右边,如果STR_PAD_LEFT就补到左边,STR_PAD_BOTH两边一起补。
下次用str_pad,毕竟是内置的,肯定比自定义的快。
/*
你上面的方法我觉得不怎么好,介绍一下我写的一个方法。方法函数如下,这样当你要的结果001的话,方法:dispRepair(‘1′,3,’0’)
功能:补位函数
str:原字符串
type:类型,0为后补,1为前补
len:新字符串长度
msg:填补字符
*/
<BR>functi<strong style="color:transparent">本文来源gao@daima#com搞(%代@#码@网&</strong><strong>搞gaodaima代码</strong>on dispRepair($str,$len,$msg,$type='1') { <BR>$length = $len - strlen($str); <BR>if($length<1)return $str; <BR>if ($type == 1) { <BR>$str = str_repeat($msg,$length).$str; <BR>} else { <BR>$str .= str_repeat($msg,$length); <BR>} <BR>return $str; <BR>} <BR>