PHPで数値や文字列を「0埋め(ゼロ埋め)」したい場面はよくあります。
例えば「5」という数字を「005」のように3桁で表記したいときなどですね。
今回は、PHPで0埋めをする方法をわかりやすく解説します!
str_pad() を使う方法
最も汎用的でわかりやすい方法が、str_pad() 関数を使う方法です。
$value = 5;
$zero_padded = str_pad($value, 3, '0', STR_PAD_LEFT);
echo $zero_padded; // 出力: 005
- 第1引数:対象となる値
- 第2引数:最終的な文字数
- 第3引数:埋める文字(ここでは “0”)
- 第4引数:どちら側に埋めるか(左側なら STR_PAD_LEFT)
文字列にも使えるので、柔軟性の高い方法です。
sprintf() を使う方法
数値の0埋めをきれいに書きたいなら、sprintf() 関数がおすすめです。
$value = 5;
$zero_padded = sprintf('%03d', $value);
echo $zero_padded; // 出力: 005
- %03d の意味は「3桁になるように左側を0で埋めた整数」
短く書ける上に、フォーマット指定が簡潔でわかりやすいのが特徴です。
printf() を使う方法
値を変数に入れず、すぐに出力したい場合は printf() を使うのも手です。
$value = 5;
printf('%03d', $value);
// 出力: 005
printf() は sprintf() と使い方は同じですが、結果を出力するだけ で、変数には代入されません。
まとめ
方法 | 特徴 |
---|---|
str_pad() | 文字列や数値、どちらにも使えて汎用性が高い |
sprintf() | 数値の0埋めに最適。短くきれいに書ける |
printf() | 変数に代入せず、すぐ出力したいときに便利 |
PHPでは0埋めの方法がいくつか用意されています。
使う場面に応じて、最適な方法を選びましょう!