PHP数字左側自動補完0



<?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 strpad ( ストリングス $input、 要点 $pad_length [, ストリングス $pad_ストリングス [, 要点 $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_です。ストリングス 補って、デフォルトは右側に補って、STR_ならばPAD_LEFTは左側に補って、STR_PAD_BOTH両側を一緒に補います。今度はstrを使いますpadは、内蔵しているので、きっとカスタムより速いです。上記の方法はよくないと思います。私の書いた方法を紹介してください。メソッド関数は、このようにしてほしい結果001の場合、方法:dispRepair('1',3'0')機能:補足関数str:元の文字列type:タイプ、0は後継ぎ、1は補足n:新しい文字列長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;
}