以前の記事でPHPで先頭から0を削除する方法について紹介しいました。
PHPで先頭から0を削除する方法について紹介しています。小数点が想定される場合などの対応についても紹介しています。PHP
で先頭の0を除去したい際の参考にしてください。
月や日、時刻などで逆に0埋めをしたいことということがあると思います。
今回の記事では、PHPで0埋めをする方法について紹介します。
sprintf関数を使う
sprintf(文字列のフォーマット, 入力したい文字1, 入力したい文字2, ・・・)
と言った感じで使用します。
echo sprintf('%02d', 5); // 05 echo sprintf('%03d', 5); // 005 sprintf("%s 君は %s を %d 個食べました。", "太郎", "りんご", 7) //太郎 君は りんご を 7個食べました。
%02や%03のように埋めたい文字と桁数を指定して、行います。
この関数は、3つ目の例のように文字を入れることも可能です。その際は、%s」には文字列を、「%d」には数値を代入します。
str_pad関数を使う
str_spad( 入力したい文字, 文字列サイズ, 埋める文字 , タイプ)
と言った感じで指定します。
$value = 123; $len = 5; //デフォルトはスペース埋め左埋め echo str_pad($value, $len); // => "123 " //指定した文字で埋める echo str_pad($value, $len, 0, STR_PAD_LEFT); // => "00123"
0埋めをしたい場合は、左埋めにしたいので、STR_PAD_LEFTを指定します。
指定できるタイプは次のようなものがあります。
タイプ | 意味 |
---|---|
STR_PAD_RIGHT | 文字列の右側を埋める(デフォルト) |
STR_PAD_LEFT | 文字列の左側を埋める |
STR_PAD_BOTH | 文字列の両側を埋める |
まとめ
今回は、PHPで0埋めをする方法について紹介しました。
月などを0埋めしたい機会などは、結構あると思うので使用機会の多い関数だと思います。
また、スペース埋めしたいときなどにも利用できる関数です。
ぜひ、覚えておくと良いと思います。