トップページ
Laravel学習サイトLaravelやるばい

目次

PHPのsprintfが何かと簡単なサンプルコー ドで解説

みなさんこんにちは、あべ いさぢです。

今回はPHPのsprintfが何かと簡単なサンプルコードで解説します。


sprintfとは

文字列の中に値をきれいに埋め込むための関数です。

基本形は下記になります。

sprintf(string $format, mixed ...$values): string

「mixed」はstring・int・floatなどどんな型でもいいという意味です。

「...」は可変長引数と言って引数は何個でもいいという意味です。

第一引数が埋め込みがされる文字列で第二引数が埋め込む文字です。

sprintfの意味をつつかむ為に簡単なサンプルコードで解説します。


サンプルコード

文字や数値を埋め込みに使う時は例えば下記の記述をします。

$name = "山田";
$age  = 30;

$result = sprintf("%sさんは%d歳です。", $name, $age);

echo $result;

結果は下記です。

山田さんは30歳です。

第二引数に「$name」・「$age」がありますが左から順に第一引数の「%S」・「%d」に埋め込まれます。

つまり「%s」に「$name」が埋め込まれて「%d」に「$age」が埋め込まれます。

「%s」や「%d」の意味が分からないと思います。

「%〜」の「〜」は埋め込む文字の型によって対応が決まっていて下記になります。

書式	      意味
%s	     文字列
%d	      整数
%f	      小数
%02d	 2桁・ゼロ埋め
%.2f	 小数点2

「%02d」・「%.2f」の「2」は桁数と同じ値になります、上記は2桁だから「%02d」・「%.2f」になります。

もう説明していますがゼロ埋めをする場合は例えば下記の記述をします。

$number = 5;

echo sprintf("%04d", $number);

「04d」なので前ゼロ埋めの4桁になります。

結果は下記になります。

0005

小数点に使う場合は指定した桁数の下の桁に対して切り上げもしくは切り捨てを行います。

$price = 123.456;

echo sprintf("%.2f", $price);

上記の場合は少数第三位に対して切り上げもしくは切り捨てを行います。

「123.456」の少数第三位は「6」ですが繰り上げをして結果は下記になります。

123.46
















 

戻る