phpで数値が意図する桁数に満たない場合は、前ゼロを付加する。
10桁以上の整数のオーバーフロー(?)で値が変わってしまう場合の前ゼロ付加方法。
phpメモ:$in_numが12桁に満たない場合は前ゼロを付加
$in_num = "9876543210";
$out_num = str_pad(trim(mb_convert_kana($in_num, 's')), 12, '0', STR_PAD_LEFT);
echo $out_num;
【結果】009876543210
※str_padの第3引数(上記の場合は'0')指定なしの場合は、デフォルトの空白になる。
※前ゼロを付加する場合は、第4引数に「STR_PAD_LEFT」を指定、なければ後ろに不可される。
※ついでに$in_numの全角スペースをmb_convert_kanaで半角スペースに変換し、trimで削除する。
phpメモ:$in_numが9桁未満の場合は以下でもOK
$in_num = "12345";
$in_num = sprintf('%08d', $in_num);
echo $out_num;
【結果】00012345
※'%08d'は8桁。
phpメモ:$in_num10桁で前ゼロを付加した場合の不具合
$in_num = "9876543210";
$in_num = sprintf('%012d', $in_num);
echo $out_num;
【結果】002147483647
※'%012d'は12桁。