重複の可能性:
PHP のフォーマット番号
出力する 12 char in length
値がある場合のように、数値形式が必要です12
000000000012
例: value の場合、123.50
出力する必要が000000012350
あります 10 進数なし (100 の倍数)
どの機能が使用されるか、何か考えはありますか?
ありがとう !
重複の可能性:
PHP のフォーマット番号
出力する 12 char in length
値がある場合のように、数値形式が必要です12
000000000012
例: value の場合、123.50
出力する必要が000000012350
あります 10 進数なし (100 の倍数)
どの機能が使用されるか、何か考えはありますか?
ありがとう !
str_padを使用できます
echo str_pad(12, 12, "0", STR_PAD_LEFT);
printf("%012s", 12);
出力
000000000012
いくつかの回避策
var_dump(formatOutput("12"));
var_dump(formatOutput("123.50"));
var_dump(formatOutput("123.378201"));
function formatOutput($no,$max = 15) {
$no = str_pad("1", strlen(substr(strrchr($no, "."), 1)), "0", STR_PAD_RIGHT) * $no;
if(strpos($no, "."))
$no = str_replace(".", "", $no) . "0" ;
return str_pad($no, $max, "0", STR_PAD_LEFT);
}
出力
string '000000000000012' (length=15)
string '000000000001235' (length=15)
string '000001233782010' (length=15)
http://php.net/manual/en/function.str-pad.phpを参照してくださいstr_pad()
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
この関数は、左側、右側、または両側にパディングされた入力文字列を、指定されたパディング長に戻します。オプションの引数pad_stringが指定されていない場合、入力にはスペースが埋め込まれます。それ以外の場合は、pad_stringから制限までの文字が埋め込まれます。
input
入力文字列。
pad_length
pad_lengthの値が負の場合、入力文字列の長さ以下の場合、パディングは行われません。
pad_string
必要なパディング文字数をpad_stringの長さで均等に除算できない場合、pad_stringは切り捨てられる可能性があります。
pad_type
オプションの引数pad_typeは、STR_PAD_RIGHT、STR_PAD_LEFT、またはSTR_PAD_BOTHにすることができます。pad_typeが指定されていない場合は、STR_PAD_RIGHTであると見なされます。