PHP

【PHPの基礎】sprintf関数をマスターしよう!

sprintf関数

今回解決できる内容!

✔️sprintf関数とは?

✔️sprintf関数の使い方は?

今回はsprintf関数についてご説明します!

関数の基本に関しては下記をご参照ください!

関数
【PHPの基礎】関数をマスターしよう! 今回解決できる内容! ✔️関数とはなんだろう? ✔️関数の使い方は? ...

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

【基礎編】sprintf関数を使ってみよう

sprintf関数は指定したフォーマットで文字列を生成する関数です

これだけだと、意味がわからないですよね、、正直私もそうでした。

例えば、

「私はサラプロで、1993年8月生まれです。」という文章と、

「私は伊藤で、2000年10月生まれです。」という文章があったとします。

これは「私は〇〇で、▲▲年■■月生まれです。」は共通している文字列です。この場合、◯▲■さえ変えれば文章をいくつも作成することが出来ます。このような文字列を作るときにsprintf関数は活躍します。

書き方は下記の通りです。

sprintf(文字列のフォーマット, 入力したい文字1, 入力したい文字2, ・・・);

spritf関数でフォーマットするには型指定子を使います。

表にまとめたので確認してみて下さい。

型指定子説明
%%文字。型指定子の先頭に指定します。
b2進数の整数。
cASCII値の文字。
d10進数の整数。
fdouble型の浮動小数点数。
Ffloat型の浮動小数点数。
s文字列。

実際に使い方をみてみましょう。

<?php

$example='私は%sで、%d年%d月生まれです。';

$name1='サラプロ';
$year1=1993;
$month1=8;

$name2='伊藤';
$year2=2000;
$month=10;

echo sprintf($example,$name1,$year1,$month1);
echo'<br>';
echo sprintf($example,$name2,$year2,$month2);

?>

結果は下記の通りです。

$exampleに対して文字列である型指定子%sが一つと、10進数の整数である型指定子の%dを2つ指定しています。%dに関しては数字は順番に当てはめられます。その為、上記のような結果になります。

元となる文章は1つで、様々な文章を作成することができます!

【実践編】sprintfを利用して0埋めを行う

それでは実際の開発では、どうようなときにsprintf関数を使用するか学んでいきましょう!

実はsprintf 関数を使用し、0 埋めを行うことが出来ます。

つまり、桁数を0で揃えることができます。

実際の開発では顧客IDを作成する際などに使用する方法です!

0 埋めをする場合は、作成したい桁数を「 %0 」と「 d 」で挟んで「 %08d 」のように記述すると桁数が8桁になるまで、「0」で埋めることができます。実際に sprintf 関数を使用して 0 埋めをしてみます。

実際の例を見てみましょう。

サンプルコード

<?php

echo  sprintf( '%08d', 1111).'<br>';
echo  sprintf( '%07d', 22222).'<br>';
echo  sprintf( '%06d', 33).'<br>';
echo  sprintf( '%05d', 4).'<br>';

?>

結果は下記のようになります。

コード解説

上記のように型指定子%の後にd(10進数の整数)と桁数(表示幅指定子)を指定すれば桁を0埋めできます

独学でツラくなった方へ

まとめ

今回説明した内容

✅sprintf関数の使い方

✅0埋めの方法

今回は以上になります。

今回はsprintf関数についてご説明しました。

sprintf関数を利用して桁数を0で揃えることは、実際の開発でもよく使われます。是非今回で覚えましょう!