eyecatch php

PHP

【PHP】数値のケタ数を0で合わせる(0埋め・0パディング)する方法

2019/08/15

PHPで数値に前ゼロを付けてケタ数を合わせる方法を、"sprintf" を使って行う方法を備忘録としてポストします。

今回のポスト化は久々すぎて使い方を忘れてしまったので。
次からはここを見ればコピペできるって寸法です。

sprintfを使ってゼロ埋めする

ゼロ埋めするには str_pad を使ってもいいのですが、オプションが若干ややこしい印象。
なので私はいつも(といってもゼロ埋め自体の頻度は低いですが)sprintf を使っています。

今回はアンケートを回答したユーザに対して、整理番号(ID)を振るのに使用しました。
よくある「あなたの整理番号は00001です」ってやつです。

書式

sprintfの書式をおさらい。

sprintf ( string $format [, mixed $args [, mixed $... ]] ) : string
フォーマット文字列 format に基づき生成された文字列を返します。

sprintfは第一引数にフォーマット文字列(変換指定子)を記述し、そのフォーマットに対して第二引数以降を当て込んでいきます。
0埋めを行う場合は「%02d」「%03d」などを使って行います。

「%02」で「0」で埋めて2ケタにする、「%03」で「0」で3ケタにする、と覚えておけば大丈夫だと思います。

凡例

使用例

今回、私が作成した整理番号を作成するコードは以下のようにしてみました。

$lastinsert_customer_id は、DBにインサートしたユーザIDが入っており、0で埋めて4ケタとフォーマットしています。
そのフォーマット4ケタを「月」と「日」で囲むという形です。

例として、7月28日に作成された整理番号としては「07000128」といった形です。

-PHP
-, , ,